GJulien Posté(e) le 12 novembre 2015 Posté(e) le 12 novembre 2015 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
Steven Posté(e) le 12 novembre 2015 Posté(e) le 12 novembre 2015 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.
GJulien Posté(e) le 12 novembre 2015 Auteur Posté(e) le 12 novembre 2015 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
(gile) Posté(e) le 13 novembre 2015 Posté(e) le 13 novembre 2015 Salut, Pour 2014, i semble que ce soit "AecX.AecBaseApplication.7.5" (voir ici) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
PHILPHIL Posté(e) le 13 novembre 2015 Posté(e) le 13 novembre 2015 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
GJulien Posté(e) le 13 novembre 2015 Auteur Posté(e) le 13 novembre 2015 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.
(gile) Posté(e) le 13 novembre 2015 Posté(e) le 13 novembre 2015 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
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant