Bonjour tous,
Je souhaiterai créer un lisp qui me permette en sélectionnant un texte de le tourner en cliquant 2 points, en ayant activé l'accroche objet proche et qu'il se mette de la couleur "du calque" .
Est ce que quelqu'un pourrait m'aider ? 😃
J'ai ce lisp qui fonctionne sur autocad mais je voudrais qu'il fonctionne sur ZWCAD:
Résolu ! Accéder à la solution.
Résolu par CADaSchtroumpf. Accéder à la solution.
Bonjour @f_vacque Zwcad n'est pas un logiciel Autodesk, nous ne pouvons pas vous répondre sur ce thème, mais si vous avez d'autres questions concernant votre LISP dans AutoCAD, nous vous répondrons avec plaisir.
Bonjour,
Sans connaître Zwcad, je pense que c'est la fonction (acet-ui-single-select .....) qui pose problème.
C'est une fonction qui fait partie d'une bibliothèque d'Autocad où les fonctions sont souvent interdépendantes. Si celles-ci ne sont pas chargées au démarrage cela va échoué...
Tu peux tenter de changer dans ton code (pour les 2 fonctions: TZ etTZX)
(setq na (acet-ui-single-select '((-4 . "<OR")
(0 . "TEXT")
(-4 . "<AND")
(0 . "POLYLINE")
(-4 . "<NOT")
(-4 . "&")
(70 . 112)
(-4 . "NOT>")
(-4 . "AND>")
(-4 . "OR>")
)
T
);acet-ui-single-select
);setq
par
(setq na (ssget "_+.:E:S" '((-4 . "<OR")
(0 . "TEXT")
(-4 . "<AND")
(0 . "POLYLINE")
(-4 . "<NOT")
(-4 . "&")
(70 . 112)
(-4 . "NOT>")
(-4 . "AND>")
(-4 . "OR>")
)
)
);setq
Essaye cette version (revue et internationalisée), voir si ça fonctionne mieux...
(Defun C:tz (/ *error* oldosmode na)
(defun *error* (msg)
(if (not (member msg '("console break" "Function cancelled" "quit / exit abord")))
(princ (strcat "\nError: " msg))
)
(setvar "osmode" oldosmode)
(princ)
)
(setq oldosmode (getvar "osmode"))
(princ "\nSélectionnez un objet TEXTE")
(while
(setq na
(ssget "_+.:E:S"
'(
(-4 . "<OR")
(0 . "TEXT")
(-4 . "<AND")
(0 . "POLYLINE")
(-4 . "<NOT")
(-4 . "&")
(70 . 112)
(-4 . "NOT>")
(-4 . "AND>")
(-4 . "OR>")
)
)
);setq
(setq na (ssname na 0))
(setvar "osmode" 512)
(Command "_.change" na "" pause "" "" pause "")
(setvar "osmode" 0)
(command "_.move" "_previous" "" "@" pause)
(Command "_.change" na "" "_properties" "_color" "_bylayer" "")
(princ "\nSélectionnez un objet TEXTE")
)
(setvar "osmode" oldosmode)
(prin1)
)
(Defun C:tzx (/ *error* oldosmode na)
(defun *error* (msg)
(if (not (member msg '("console break" "Function cancelled" "quit / exit abord")))
(princ (strcat "\nError: " msg))
)
(setvar "osmode" oldosmode)
(princ)
)
(setq oldosmode (getvar "osmode"))
(princ "\nSélectionnez un objet TEXTE")
(while
(setq na
(ssget "_+.:E:S"
'(
(-4 . "<OR")
(0 . "TEXT")
(-4 . "<AND")
(0 . "POLYLINE")
(-4 . "<NOT")
(-4 . "&")
(70 . 112)
(-4 . "NOT>")
(-4 . "AND>")
(-4 . "OR>")
)
)
);setq
(setq na (ssname na 0))
(setvar "osmode" 512)
(command "_.copy" na "" "@" "@")
(Command "_.change" na "" pause "" "" pause "")
(setvar "osmode" 0)
(command "_.move" "_previous" "" "@" pause)
(princ "\nSélectionnez un objet TEXTE")
)
(setvar "osmode" oldosmode)
(prin1)
)
@f_vacque a écrit :Seul bémol lorsque j'oriente mon texte celui-ci se tourne d'environ 100 gr par rapport à la direction demandé.
De quoi cela peut-il venir ?
Le mode ORTHO est actif? Est ce que la version que je propose a encore ce défaut?
Bonjour @f_vacque
La communauté a essayé de répondre à votre question. Si vous pensez qu'une ou plusieurs de ces réponses vous aident, voulez vous avoir l'amabilité de cliquer sur le bouton APPROUVER LA SOLUTION en bas de la réponse qui apporte une solution?
Merci de ne pas accepter comme solution le message que vous êtes en train de lire.
Si nos équipes de support technique ont pu vous apporter une solution ou contribuer significativement à vous aider en dehors de ce forum, pouvez vous partager ici la solution trouvée et cliquer sur le bouton APPROUVER LA SOLUTION de façon qu'elle bénéficie à la communauté?
Merci.
Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.