Aller au contenu

setpropertyvalue


PHILPHIL

Messages recommandés

bonjour

 

 

le help d 'autocad dit ca

 

The following example demonstrates how to change the first vertex of the Vertices collection.

(command "._pline" "0,0" "3,3" "5,2" "")
nil

(setq e3 (entlast))
<Entity name: 10e2e4da0>

(setpropertyvalue e3 "Vertices" 0 "EndWidth" 1.0)
nil

 

 

donc j'ai ecrit ca :

 

(setq thelast1 (cdr (assoc -1 (entget (entlast)))))
;;;    (setpropertyvalue thelast1
;;;
;;;                      "AcDbDynBlockPropertyLARGEUR COTE"
;;;                      largeurprofil1
;;;    )
;;;    (setpropertyvalue thelast1
;;;
;;;                      "AcDbDynBlockPropertyEPAISSEUR"
;;;                      epaisseurprofil1
;;;    )
;;;    (setpropertyvalue thelast1
;;;
;;;                      "AcDbDynBlockPropertyHAUTEUR"
;;;                      hauteurprofil1
;;;    )
   (setpropertyvalue thelast1 "AcDbDynBlockPropertyLARGEUR COTE" largeurprofil1 "AcDbDynBlockPropertyEPAISSEUR" epaisseurprofil1 "AcDbDynBlockPropertyHAUTEUR" hauteurprofil1)

 

 

les 3 premiers "setpropertyvalue" marchaient

 

 

 

pensant que ca allait plus vite j'ai testé :

(setpropertyvalue thelast1 "AcDbDynBlockPropertyLARGEUR COTE" largeurprofil1 "AcDbDynBlockPropertyEPAISSEUR" epaisseurprofil1 "AcDbDynBlockPropertyHAUTEUR" hauteurprofil1)

 

qui ne fonctionne pas

 

savez vous pourquoi ?

 

merci

 

Phil

Autodesk Architecture 2023 sous windows 11 64

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

Coucou,

 

Je pense que la réponse est dans la question pour le coup :3

The following example demonstrates how to change the first vertex of the Vertices collection.

(command "._pline" "0,0" "3,3" "5,2" "")
nil

(setq e3 (entlast))
<Entity name: 10e2e4da0>

(setpropertyvalue e3 "Vertices" 0 "EndWidth" 1.0)
nil

 

Et en regardant l'aide au complet on a ceci :

(setpropertyvalue ename propertyname value [or collectionName index name val])

 

En fait, l'exemple que tu as utilisé montre l'utilisation de la fonction (setpropertyvalue) dans le cas où on l'applique pour une Collection (ici "Vertices collection"), qui, contrairement à une utilisation sur une propriété simple, nécessite 4 arguments en plus de l'ename au lieu de 2.

 

Donc non, il n'est pas possible d'utiliser (setpropertyvalue) au même titre que (setq). Je ne sais pas si j'ai été suffisamment claire ^^"

 

Edit: encore une fois (gile) a la finesse d'esprit de simplifier et clarifier les explications, merci !

 

Bisous,

Luna

Modifié par Luna
Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

D'après l'aide :

Signature
(setpropertyvalue ename propertyname value [or collectionName index name val])

Autrement dit :

(setpropertyvalue e3 "Vertices" 0 "EndWidth" 1.0)

correspond à :

(setpropertyvalue ename collectionName index name val)

et :

(setpropertyvalue thelast1 "AcDbDynBlockPropertyLARGEUR COTE" largeurprofil1)

correspond à :

(setpropertyvalue ename propertyname value)

Mais en aucun cas il n'est question de traiter plusieurs propriétés dans la même expression (setpropertyvalue ...).

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité