az2din Posté(e) le 14 mars 2017 Posté(e) le 14 mars 2017 Je partage avec vous cette routine, à améliorer par les professionnels en ajoutant plus de contrôle. Nota :avec les lignes et polylignes si en change l'épaisseur et la largeur ils seront pris en compte dans la création du polysolid. Bonne Journée. ;;;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;;Azzeddine EL HACHIMI - 2016;;;;;;This routine allows to create polysolids from sevral lineaire objects;;;;;;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ (defun c:pls (/ olderr oldcmdecho errexit undox ss1 nr en) (vl-load-com) (defun errexit (s) (restore) ) ;;; (defun undox ();;; (command "._undo" "_E");;; (setvar "cmdecho" oldcmdecho);;; (setq *error* olderr);;; (princ);;; ) ;;; (setq olderr *error*;;; restore undox;;; *error* errexit;;; ) (setq oldcmdecho (getvar "cmdecho")) (setvar "cmdecho" 0);;; (command "._UNDO" "_BE") ;;;Données pour creation du polysolide (setq JUST (getstring "\nChoisir la justification du polysolide <Gauche/Centre/Droite>:\n" ) ) (initget (+ 1 4)) (setq haut (getreal "\nEntre la hauteur du polysolide :\n ")) (initget (+ 1 4)) (setq larg (getreal "\nEntre la largeur du polysolide :\n ")) (setvar "PSOLHEIGHT" haut)(setvar "PSOLWIDTH" larg) (if (setq ss1 (ssget '((-4 . "<OR") (0 . "*POLYLINE") (0 . "CIRCLE") (0 . "ARC") (0 . "ELLIPSE") (0 . "SPLINE") (0 . "LINE") (-4 . "OR>") ) ) ) (progn (setq nr 0) (setq en (ssname ss1 nr)) (while en (setq ent (entget en)) (setq couch (cdr (assoc 8 ent))) (setvar "clayer" couch);;; (command "zoom" "_o" en "") (Command "_Polysolid" "j" JUST "_object" en) (setq nr (1+ nr)) (setq en (ssname ss1 nr)) ) ) );;; (restore))
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