Archi-Cadlinkeuses, Archi-Cadlinkeurs,

Vous êtes les bienvenus.

Ce forum, ouvert depuis le mois de novembre 2018, a pour objectif, vocation et ambition de répondre à toutes vos interrogations sur l'outil logiciel ArchiCAD®, développé par GRAPHISOFT© (au delà des canaux officiels type forum éditeur, distributeurs, revendeurs... et des "baratins commerciaux" ! ;-)).
Ce lieu souhaite également créer du lien entre ses utilisateurs.

Il s'adresse à tous, du débutant a l'expert, et repose exclusivement sur le bénévolat collaboratif et participatif.

Pour éviter toutes pertes de cette future base de connaissances et la pérenniser, ce forum est géré, administré, développé et financé par une association loi 1901 à but non lucratif. Vous pouvez sur demande adhérer a l'association comme membre actif, moyennent une cotisation faible et attractive ( entre 5 et 10 € )

Cet espace auto financé est sans contrainte d'intérêts commerciaux tiers. Il est donc indépendant et libre.

Il est entièrement dédié aux utilisateurs (dessinateur-projeteur, technicien, maitre d’œuvre, collaborateur d'architecte, architecte, ingénieur, etc...).
Il s'adresse donc aux acteurs "sur le terrain", qui conçoivent, produisent, réalisent, diffusent, des publications numériques et/ou "papier", avec ce logiciel.

Les accès au site et à ses différentes rubriques sont entièrement libres et gratuits. Les pièces téléchargeables et le droit à poster exigent l'inscription.
Merci de remplir IMPERATIVEMENT dans les champs de votre profil:
1/ votre numéro de version d'ArchiCAD® (de la 4.5 à la 23!)
2/ votre OS (Mac ou Windows)
3/ votre localisation

C'est uniquement fait pour faciliter la pertinence des réponses et les échanges.

La rubrique "Je me présente" vous permettra d'accéder à de nouveaux salons permettant le téléchargement d'objets mis à disposition et de quelques autres goodies à venir. Elle vous permet également de vous géolocaliser sur une carte interactive, un lien vous est fourni. Vous avez peut être une ou un collègue près de là où vous exercez !

Les membres Administrateurs :

David, Felipe, Maël, Nicolas, Pierre, Sam, Simon, Yves


PS :
Notre association a perdu son vice président, Frederic Deschamp alias FMR le 15 Août 2019.

Remerciement à Eric Wilk pour sa confiance renouvelée aux "irréductibles"

empêcher le redimensionnement / bloquer des variables  [RÉSOLU]

Les trucs un peu plus complexes, le cœur des objets paramétriques
alexandre.Glt
Messages : 20
Inscription : 14 sept. 2020 16:03
Localisation : paris
Version d'Archicad : 24
Système d'exploitation : MacOS
A remercié : 1 fois
A été remercié : 1 fois

empêcher le redimensionnement / bloquer des variables

Message par alexandre.Glt »

Bonjour,
question bête, mais je ne trouve l'info nulle part.
Est ce possible d'empêcher un objet d'être redimensionné?
Dans notre cas, c'est simplement créer des objets de visualisation d'espaces PMR et éviter des erreurs ou de la "triche"

Avatar de l’utilisateur
Simon
Site Admin
Messages : 695
Inscription : 14 nov. 2018 16:18
Localisation : Saint Etienne
Version d'Archicad : 22
Système d'exploitation : Windows 10
A remercié : 94 fois
A été remercié : 164 fois

Re: empêcher le redimensionnement / bloquer des variables

Message par Simon »

Salut,
Tu peux vérouiller des paramètres dans le script paramètre en utilisant la fonction : LOCK ...
https://gdl.graphisoft.com/reference-gu ... gdlcommand
Windows 10 - Archicad 22 - Sketch'up
Thearender - Lumion
GDL Addict !

Avatar de l’utilisateur
Christophe Fortineau
Messages : 585
Inscription : 29 oct. 2019 08:36
Localisation : Nantes
LinkedIn : https://www.linkedin.com/in/christophe- ... restataire
Version d'Archicad : 25 beta à 22
Système d'exploitation : MacOS + Linux + windows
A remercié : 331 fois
A été remercié : 105 fois
Contact :

Re: empêcher le redimensionnement / bloquer des variables

Message par Christophe Fortineau »

Bonsoir Alexandre,

Il suffit de masquer l'accès à la variable en mettant une croix devant ta variable.
ObjectPreview.png
Celle-ci ne sera pas vraiment bloquée mais faute d'accès c'est tout comme.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Christophe Fortineau
Consultant, formateur Archicad et openBIM à Nantes

Archicad depuis v15 à v26 RC
MacOS 10.13.6 et 11.6
Windows 10 & TwisterOS

alexandre.Glt
Messages : 20
Inscription : 14 sept. 2020 16:03
Localisation : paris
Version d'Archicad : 24
Système d'exploitation : MacOS
A remercié : 1 fois
A été remercié : 1 fois

Re: empêcher le redimensionnement / bloquer des variables

Message par alexandre.Glt »

merci à tous les deux.

l'affichage permet en effet de cacher la variable, mais on peut toujours modifier l'objet sur le plan. merci christophe
la fonction LOCK marche bien. merci Simon. et en gardant l'affichage visible, ça permet de contrôler que la taille de l'objet n'a pas bougé.
j'ai bloqué les variables A et B comme ça :

dans le script "principal" :
LOCK "A"
LOCK "B"

Par contre, comment faire pour bloquer les memes variables quand un objet fait appel à un autre?
il reste les points d'accroches roses qui permettent malgré tout à l'objet d'être déformé.

par exemple de call ici

group "group_FAC6ED4A_976F_E44A_96D2_B86FFFDEFEBC"
call "Lit double 01 25",
PARAMETERS A = 1.4, B = 1.9, zzyzx = 0.66,

Avatar de l’utilisateur
Simon
Site Admin
Messages : 695
Inscription : 14 nov. 2018 16:18
Localisation : Saint Etienne
Version d'Archicad : 22
Système d'exploitation : Windows 10
A remercié : 94 fois
A été remercié : 164 fois

Re: empêcher le redimensionnement / bloquer des variables

Message par Simon »

Est-ce que les points chauds permettent véritablement le redimensionnement ?

Chez moi, quand je crée un objet avec ce code basique :

Code : Tout sélectionner

call "Lit double 01 25",
PARAMETERS A = 1.4, B = 1.9, zzyzx = 0.66
L'objet placé semble bien avoir des points chauds dynamiques mais quand on essaie d'interagir, ils ne permettent pas de redimensionner l'objet...
Windows 10 - Archicad 22 - Sketch'up
Thearender - Lumion
GDL Addict !

alexandre.Glt
Messages : 20
Inscription : 14 sept. 2020 16:03
Localisation : paris
Version d'Archicad : 24
Système d'exploitation : MacOS
A remercié : 1 fois
A été remercié : 1 fois

Re: empêcher le redimensionnement / bloquer des variables

Message par alexandre.Glt »

oui, tout à fait. ils le permettent.
après, je n'ai mis qu'une partie du code.

la création de l'objet est simple. j'ai mis des rectangles PMR autour d'un lit et j'ai crée l'objet comme cela.

Avatar de l’utilisateur
Simon
Site Admin
Messages : 695
Inscription : 14 nov. 2018 16:18
Localisation : Saint Etienne
Version d'Archicad : 22
Système d'exploitation : Windows 10
A remercié : 94 fois
A été remercié : 164 fois

Re: empêcher le redimensionnement / bloquer des variables

Message par Simon »

Ok, ça sera difficile sans le code complet surtout que l'extrait est curieux, les valeurs sont écrites en "dures" (1.4, 1.9, 0.66) et je ne comprends pas comment elle peuvent varier alors...
Windows 10 - Archicad 22 - Sketch'up
Thearender - Lumion
GDL Addict !

alexandre.Glt
Messages : 20
Inscription : 14 sept. 2020 16:03
Localisation : paris
Version d'Archicad : 24
Système d'exploitation : MacOS
A remercié : 1 fois
A été remercié : 1 fois

Re: empêcher le redimensionnement / bloquer des variables

Message par alexandre.Glt »

voici

code 2D

Code : Tout sélectionner

mul2     A/3.800000, B/2.800000
add2     93.8446505411, 16.79979034947
drawindex      10
GLOB_SCRIPT_TYPE =      2
GLOB_SCALE =     50
pen     penAttribute_1
set line_type lineTypeAttribute_1
add2     -92.6446505411, -15.89979034947
call    "Lit double 01 25",
    PARAMETERS A =          1.4, B =          1.9, zzyzx =         0.66,
        stBedType = "Cadre", iBedType =      1, iDetlevel3D =      1,
        gs_bed_height =          0.4, iFrameType =      1, frh =         0.32,
        frhLeg =         0.16, bHeadboard =      0, hb = "En tête de lit",
        iHeadboard =      3, hboard_type = "Style 2", hboard_type_m =      2,
        HeadboardEdge =      0, hbh1 =         0.34, hbh2 =         0.34,
        mrh =         0.12, MattressDist =         0.02, RadCushCorner =         0.02,
        RadCushEdge =         0.02, stBedLegType = "Style 1", iBedLegType =      1,
        leg_h =         0.16, LegWidth =         0.05, pw =      0,
        bExtraCushion =      0, bDetailedHeadCushion =      0, iDetlevel2D =      6,
        styp = "Type 1", iSymbolType =      1, gs_cont_pen = penAttribute_1,
        bUniformFill =      0, fillTypeUniform = fillAttribute_1, fillPenUniform = penAttribute_2,
        backPenUniform = penAttribute_2, fillFor = "Lit", iFillFor =      1,
        gs_fill_type = fillAttribute_2, gs_fill_pen = penAttribute_2,
        gs_back_pen = penAttribute_2, fillTypePillow = fillAttribute_2,
        fillPenPillow = penAttribute_2, backPenPillow = penAttribute_2,
        fillTypeBlanket = fillAttribute_2, fillPenBlanket = penAttribute_2,
        backPenBlanket = penAttribute_2, MSFront =          0.6, MSSide =          1.2,
        MSSide2 =          0.6, MSLength =          1.5, gs_resol =      3,
        gs_shadow =      1, AC_show2DHotspotsIn3D =      0, ac_bottomlevel =            1,
        ac_toplevel =            0, frmat = materialAttribute_1, gs_leg_mat = materialAttribute_2,
        hbmat = materialAttribute_2, mmat = materialAttribute_1, pillow_mat = materialAttribute_3,
        gs_frame_mat = materialAttribute_2, gs_matrace_mat = materialAttribute_4,
        gs_ui_current_page =      3, gs_list_cost =            0, gs_list_manufacturer = "",
        gs_list_note = "", gs_list_location = "", gs_list_accessories = "",
        FM_Type = "Ameublement", iFMType =     16, FM_InventoryNumber = "",
        FM_SerialNumber = "", FM_ProductionYear = "", FM_ObjectWeight =            0,
        FM_ObjectWeightUnit = "kg", gs_list_custom1 = "", gs_list_custom2 = "",
        gs_list_custom3 = "", gs_list_custom4 = "", gs_list_custom5 = "",
        LibraryLangCode = "FRA"
del          1
pen     penAttribute_3
hotspot2 -93.8446505411, -16.79979034947
hotspot2 -90.0446505411, -16.79979034947
hotspot2 -90.0446505411, -13.99979034947
hotspot2 -93.8446505411, -13.99979034947
hotspot2 -91.2446505411, -16.79979034947
hotspot2 -92.6446505411, -16.79979034947
hotspot2 -90.0446505411, -15.89979034947
hotspot2 -93.8446505411, -15.89979034947
pen     penAttribute_1
set line_type lineTypeAttribute_2
line_property       0
line2    -93.8446505411, -15.89979034947, -92.6446505411, -15.89979034947
line2    -91.2446505411, -15.89979034947, -91.2446505411, -16.79979034947
line2    -92.6446505411, -15.89979034947, -92.6446505411, -16.79979034947
line2    -91.2446505411, -15.89979034947, -90.0446505411, -15.89979034947
poly2_b{5}      11,      1,      0,      3,      1,      0, 
                   0,            0,            1,            0,            0,            1,            0, 
        -93.8446505411, -13.99979034947,      1, 
        -93.8446505411, -15.89979034947,      1, 
        -92.9446505411, -15.89979034947,    900, 
                   0,           90,   4001, 
        -92.9446505411, -16.79979034947,      1, 
        -90.9446505411, -16.79979034947,      1, 
        -90.9446505411, -15.89979034947,    900, 
                   0,           90,   4001, 
        -90.0446505411, -15.89979034947,      1, 
        -90.0446505411, -13.99979034947,      1, 
        -93.8446505411, -13.99979034947,      1
code 3D

Code : Tout sélectionner

mulx	A/         3.8
muly	B/         2.8
mulz	ZZYZX/        0.66
add     93.8446505411, 16.79979034947,          7.5
body    -1
model solid
resol       36
if (use_stored_environment) then
GLOB_SCRIPT_TYPE =      3
GLOB_CONTEXT =      3
GLOB_VIEW_TYPE =      3
GLOB_SCALE =     50
GLOB_NORTH_DIR =           90
GLOB_PROJECT_LONGITUDE = 2.608781111111
GLOB_PROJECT_LATITUDE = 48.94742583333
GLOB_PROJECT_ALTITUDE =         59.5
GLOB_DRAWING_BGD_PEN = penAttribute_2
GLOB_FRAME_NR =     -1
GLOB_EYEPOS_X = 31.90848991499
GLOB_EYEPOS_Y = 2.952331922316
GLOB_EYEPOS_Z = 29.61147636171
GLOB_TARGPOS_X = 10.88899379076
GLOB_TARGPOS_Y = 5.837562449018
GLOB_TARGPOS_Z = 21.13467109724
GLOB_SUN_AZIMUTH = 337.461853354
GLOB_SUN_ALTITUDE = 51.3145031831
endif
pen     penAttribute_1
material materialAttribute_5
group 	"group_FAC6ED4A_976F_E44A_96D2_B86FFFDEFEBC"
    call    "Lit double 01 25",
        PARAMETERS A =          1.4, B =          1.9, zzyzx =         0.66,
            stBedType = "Cadre", iBedType =      1, iDetlevel3D =      1,
            gs_bed_height =          0.4, iFrameType =      1, frh =         0.32,
            frhLeg =         0.16, bHeadboard =      0, hb = "En tête de lit",
            iHeadboard =      3, hboard_type = "Style 2", hboard_type_m =      2,
            HeadboardEdge =      0, hbh1 =         0.34, hbh2 =         0.34,
            mrh =         0.12, MattressDist =         0.02, RadCushCorner =         0.02,
            RadCushEdge =         0.02, stBedLegType = "Style 1", iBedLegType =      1,
            leg_h =         0.16, LegWidth =         0.05, pw =      0,
            bExtraCushion =      0, bDetailedHeadCushion =      0,
            iDetlevel2D =      6, styp = "Type 1", iSymbolType =      1,
            gs_cont_pen = penAttribute_1, bUniformFill =      0, fillTypeUniform = fillAttribute_1,
            fillPenUniform = penAttribute_2, backPenUniform = penAttribute_2,
            fillFor = "Lit", iFillFor =      1, gs_fill_type = fillAttribute_2,
            gs_fill_pen = penAttribute_2, gs_back_pen = penAttribute_2,
            fillTypePillow = fillAttribute_2, fillPenPillow = penAttribute_2,
            backPenPillow = penAttribute_2, fillTypeBlanket = fillAttribute_2,
            fillPenBlanket = penAttribute_2, backPenBlanket = penAttribute_2,
            MSFront =          0.6, MSSide =          1.2, MSSide2 =          0.6,
            MSLength =          1.5, gs_resol =      3, gs_shadow =      1,
            AC_show2DHotspotsIn3D =      0, ac_bottomlevel =            1,
            ac_toplevel =            0, frmat = materialAttribute_1,
            gs_leg_mat = materialAttribute_2, hbmat = materialAttribute_2,
            mmat = materialAttribute_1, pillow_mat = materialAttribute_3,
            gs_frame_mat = materialAttribute_2, gs_matrace_mat = materialAttribute_4,
            gs_ui_current_page =      3, gs_list_cost =            0,
            gs_list_manufacturer = "", gs_list_note = "", gs_list_location = "",
            gs_list_accessories = "", FM_Type = "Ameublement", iFMType =     16,
            FM_InventoryNumber = "", FM_SerialNumber = "", FM_ProductionYear = "",
            FM_ObjectWeight =            0, FM_ObjectWeightUnit = "kg",
            gs_list_custom1 = "", gs_list_custom2 = "", gs_list_custom3 = "",
            gs_list_custom4 = "", gs_list_custom5 = "", LibraryLangCode = "FRA"
endgroup
material materialAttribute_6
!!MOB-0006 51BD7EB3-A56B-464A-9C39-6CCDEA3CE9DB
group 	"group_27B03026_5376_A747_907E_D017B3E2BDE6"
    xform              1,            0,            0, -92.6446505411,
                       0,            1,            0, -15.89979034947,
                       0,            0,            1,         -7.5
    placegroup ("group_FAC6ED4A_976F_E44A_96D2_B86FFFDEFEBC")
    del          1
endgroup
killgroup ("group_FAC6ED4A_976F_E44A_96D2_B86FFFDEFEBC")
placegroup ("group_27B03026_5376_A747_907E_D017B3E2BDE6")
killgroup ("group_27B03026_5376_A747_907E_D017B3E2BDE6")

Avatar de l’utilisateur
Simon
Site Admin
Messages : 695
Inscription : 14 nov. 2018 16:18
Localisation : Saint Etienne
Version d'Archicad : 22
Système d'exploitation : Windows 10
A remercié : 94 fois
A été remercié : 164 fois

Re: empêcher le redimensionnement / bloquer des variables  [RÉSOLU]

Message par Simon »

Si j'ai bien compris, tu as placé un objet lit, dessiné des éléments 2D et enregistré la sélection en tant qu'objet ?

Si la 3D n'est pas nécessaire, tu peux décomposer l'objet lit avant d'enregistrer en objet, ça désactivera le redimensionnement par point chaud.

Si la 3D est nécessaire, tu peux modifier une partie de ton code "2D" comme ceci :

Code : Tout sélectionner

...
call    "fa_bed",
    PARAMETERS A =          1.4, B =            1.9, zzyzx =         0.66,
		bCalledAsMacro = 1, bDoubleBed = 1,
...
  • remplacer la macro appellée "Lit double 01 25" par "fa_bed"
  • intercaller la ligne avec les paramètres supplémentaires
Ça semble fonctionner ...
Windows 10 - Archicad 22 - Sketch'up
Thearender - Lumion
GDL Addict !

alexandre.Glt
Messages : 20
Inscription : 14 sept. 2020 16:03
Localisation : paris
Version d'Archicad : 24
Système d'exploitation : MacOS
A remercié : 1 fois
A été remercié : 1 fois

Re: empêcher le redimensionnement / bloquer des variables

Message par alexandre.Glt »

Super! ça marche!
même si j'ai trop pas compris cette dernière manip, au moins le résultat y est !

Répondre