fabcad Posté(e) le 11 mars 2006 Posté(e) le 11 mars 2006 Bonsoir,Je souhaiterais creer des vues sur autocad 2005 en visual lisp avec une fonction dugenre vla-add-view mais je n'ai pas encore touche a l'automation vlisp. En 2 creer un objet ligne en recuperant le point d'insertion, la longueur et l'angle d'un texte ou d'un mtexte pour creer des amorces d'axes de voies sur du cadastre.Merci pour vos réponses...
(gile) Posté(e) le 12 mars 2006 Posté(e) le 12 mars 2006 Salut, Pour les vues, en Vlisp, on ajoute un objet View à la collection Views du document actif ActiveDocument de l'application AutoCAD. Pour ajouter la vue courante à la collection de vues : (vla-add (vla-get-Views (vla-get-ActiveDocument (vlax-get-acad-object) ) ) "NomDeLaVue" ) On peut aussi décomposer et utiliser des variables : le document actif :(setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object))) la collection de vues :(setq Vues (vla-get-Views AcDoc)) la nouvelle vue : (setq Vue1 (vla-add Vues "NomDeLaVue")) On peut ensuite changer les propriétés de la vue Height, Width, Center, Target ... par exemple, mettre la largeur à 50.0: (vla-put-Width Vue1 50.0) ou la cible sur le point (50.0 200.0 150.0)(vla-put-Target Vue1 (vlax-3d-point '(50.0 200.0 150.0))) Si la vue n'est pas stoquée dans une variable, on peut y accéder par son nom (NomDeLaVue) (vla-Item (vla-get-Views AcDoc) "NomDeLaVue") En espérant avoir été clair ... Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Tramber Posté(e) le 12 mars 2006 Posté(e) le 12 mars 2006 En 2 creer un objet ligne en recuperant le point d'insertion, la longueur et l'angle d'un texte ou d'un mtexte pour creer des amorces d'axes de voies sur du cadastre.Merci pour vos réponses... Regarde ce code sur un Text : (setq ovj(vlax-ename->vla-object(car(entsel)))) (setq ins(vlax-safearray->list (vlax-variant-value (vla-get-Insertionpoint ovj)))) (setq rot(vla-get-rotation ovj)) (setq ou2(polar ins rot 100)) (setq pt1 (vlax-3d-point ins)) (setq pt2 (vlax-3d-point ou2)) (setq doc(vla-get-ActiveDocument(vlax-get-acad-object))) (setq *ModelSpace*(vla-get-ModelSpace doc)) (vla-addLine *ModelSpace* pt1 pt2 ) Il suffit de s'y mettre. Un conseil :double-clique sur "ins", par exemple, ensuite clique-droit puis choisis "inspecter.." tu verras tout ce à quoi tu peux acceder en vla-get- Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
bonuscad Posté(e) le 12 mars 2006 Posté(e) le 12 mars 2006 Suggestion simpliste pour le point 2. Pourquoi ne pas modifier simplement ta chaine de texte en inserant %%u au tout début. Mais si tu veux vraiment une ligne, il te faudra améliorer la ligne de Tramber (setq ou2(polar ins rot 100)) en remplacant 100 par la vrai longueur que tu pourras obtenir avec un "BoundingBox" de ton texte Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
fabcad Posté(e) le 12 mars 2006 Auteur Posté(e) le 12 mars 2006 merci pour vos infos,Ces lignes de programme associées à l'analyseur LISP d'Autodesk MAP qui a ses propres fonctions qui simplifie largement l'acces aux objets vont rendre le travail de creation des vues efficace. Le but etant de generer des vues sur des limites communales (polylignes fermées avec un champ nom de commune pour le nom de la vue) Effectivement je ne veux pas souligner ou surligner le texte mais bien de creer une ligne sur du texte.
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