Aller au contenu

Messages recommandés

Posté(e)

Bonsoir,

 

J'ai découvert aujourd'hui la manière d'utiliser le contenu AEC en lisp avec

(vla-getinterfaceobject (vlax-get-acad-object) "AecX.AecArchBaseApplication.7.0")

mais de là m'est venu une question et un problème.

 

Mis à part le fruit du hasard de la recherche internet, y aurait-il en endroit qui indique l'existence de cette manière de procéder ? Des fois qu'il y aurait encore d'autres surprises qui pourraient être intéressantes :)

 

Ensuite mon problème vient du fait que j'ai voulu ajouter une fonctions à mon S::STARTUP

 

(setq aecArDbPr (vla-get-preferences (vla-get-activedocument (vla-getinterfaceobject ACADOBJ "AecX.AecArchBaseApplication.7.0"))))

(if (= "Layer_TAG" (vlax-get-property aecArDbPr 'LayerStandard))
 T
 (progn
   (vlax-put-property aecArDbPr 'LayerStandard "Layer_TAG")
   T
 )
)

 

La première fois que je le lance, je tombe sur une erreur. Si je le relance, ça fonctionne. Énorme casse-tête autant vous dire.

 

De plus, chez moi j'utilise la version 2014 d'AutoCAD (contre la 2013 au boulot) et donc chez moi "AecX.AecArchBaseApplication.7.0" ne fonctionne pas, d'après ce que j'ai lu il faudrait changer le 7.0 mais malgré mes essais je n'ai pas encore trouvé.

 

En espérant avoir été assez clair, j'espère que l'un d'entre vous saura m'aider.

 

Cordialement,

GJulien

Posté(e)

Salut,

 

Peux-tu expliquer ce que fait exactement ce lisp? Parce que utiliser du contenu AEC, c'est un peu vague. Puis utilises quoi? AutoCAD Architecture? AutoCAD MEP?

Steven________________________________________

Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.

Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD.

En rêve; AutoCAD sous Linux.

Posté(e)

Bonsoir Steven,

 

Eh bien il me sert simplement à changer automatiquement l'identificateur de calque dans "_UNITS" "LAYERING".

 

Tout d'abord parce que je reprend des anciens plans et qu'il y a encore l'identificateur de calque par défaut d'AutoCAD et j'avoue qu'il m'arrive d'oublier de le changer ce qui me cause quelques surprises lors de l'insertion de blocs multi-vue par exemple.

 

ÉDIT : J'utilise AutoCAD Architecture 2013

Posté(e)

hello Gile

 

sais tu ou on trouve les fichiers *.help sur toutes les commandes aec pour les utiliser dans des lisp

 

si c'est le fichier que tu viens de dire "AecX.AecBaseApplication.7.5" on trouve ca ou ?

 

car moi aussi j'ai trouvé par un tres grand hazard, des fonctions pour atteindre les propriétés des données étendues des blocs aec, mais comment les manipuler, ca ca reste un mystere.

 

ou avoir la liste de toutes les commandes aec

 

genre ca : PROPERTYSETDEFMERGE

 

merci

 

a+

 

phil

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)

Bonjour,

 

Merci Gile, ça me fait déjà un problème de résolu :)

 

Par contre niveau documentation je ne trouve pratiquement rien mis à part certaines questions/réponses des utilisateurs sur les différents forums.

Eventuellement pour du VBA mais pas pour ce qui est du lisp.

 

si c'est le fichier que tu viens de dire "AecX.AecBaseApplication.7.5" on trouve ca ou ?

 

A mon avis ce n'est pas un fichier, c'est simplement le nom d'un chemin d'accès aux objets AEC de l'application AutoCAD 2014.

Posté(e)

Salut,

 

Je connais très mal les applications verticales mais je pense ne pas trop me tromper en disant que "AecX.AecBaseApplication" est l'identifiant du programme (program ID) pour ACA/MEP (comme on utilise "Excel.Application" pour accéder à l'application Excel).

 

L'objet retourné par vla-GetInterface est un objet ActiveX Automation supporté par l'interface de programmation COM.

 

Cette interface est celle utilisée par VBA mais aussi par ce que l'on appelle communément Visual LISP (on peut aussi y accéder aussi depuis d'autres environnements comme .NET ou ObjectARX).

 

L'aide pour cette interface de trouve dans C:\Program Files\Autodesk\AutoCAD XXXX\Help\adtauto.chm et elle est orientée VB(A), mais comme pour VisualLISP, l'adaptation de la syntaxe VB(A) à la syntaxe LISP n'est pas très difficile.

 

Par contre je ne sais rien concernant d'éventuelles fonctions AutoLISP spécifiques à ACA/MEP comme je sais qu'il en existe pour MAP.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

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é