• Ce forum est la traduction générée par la machine de www.cad3d.it/forum1 - la communauté italienne du design. Plusieurs termes ne sont pas traduits correctement.

Contrôle personnalisé pour modifier une polylinea

  • Auteur du sujet Auteur du sujet BCgeppoIT
  • Date de début Date de début

BCgeppoIT

Guest
Bonjour à tous, je me retrouve souvent en utilisant la commande edit polylinea, je voulais demander si vous pouvez créer une commande personnalisée pour éviter toutes les étapes que demande l'autocad de la pratique, ma commande est toujours utilisée dans cette séquence:
- edit polylinea
- sélectionner un objet
- à la question "vous voulez la transformer en polylinea" la réponse est toujours
-pour la requête "type une option" la réponse est toujours combinée de sorte que la polyligne est complètement fermée.
J'espère l'avoir expliqué.
Bonjour.
 
Code:
Polylinejoin.lsp [command name: PJ]
;;  joins viable objects [Lines/Arcs/LWPolylines/not-splined-or-fitted 2DPolylines];; dans les lwpolylines connectées.
;; rejette les 2dpolylines asphaltées/adaptées, [joining them to other objects removes their
;;    spline/fit curvature] et 3dpolylines [can't be joined].
;; si un objet viable est sélectionné, joint tous les autres objets possibles [contiguous at ends to
;;    it and to each other] à elle, dans une lwpolyline.
; ; si plusieurs objets viables sont sélectionnés, les relie à autant de lwpolylines que
;; approprié, ne comprenant rien d'attentif aux extrémités qui n'a pas été sélectionné.
;; laisse des lignes/arcs sélectionnés qui ne sont contigus à rien d'autre que des lignes/arcs,
;; non converti en polylignes à un segment.
;; concept de c:pljoin par Beaufordt sur le groupe de discussion sur la personnalisation automatique
;; rationalisé par kent cooper, juin 2011; capacités élargies juillet 2012
;; dernière édition le 16 juillet 2012

(défun c:pj ; = joint polyline
(/ *error* pjss cmde peac next pjinit inc edata pjent)

(défendez l'erreur)
(si (non (wcmatch errmsg "fonction annulée, arrêt / sortie avortée, rupture de la console"))
(principal (strcat "\norror: " errmsg))
); si
(setvar 'peditaccept peac)
(commande "_.undo" "_end")
(setvar 'cmdecho cmde)
(principal)
); défi - *erreur*

(princ "\nto joindre des objets dans polyline(s) [pick 1 to join all possible to it],")
(setq
pjss (cible '((0 . "line,arc,*polyline"))
(Getvar 'cmdecho)
pois (végétaux 'peditaccept)
suivant (dernier); point de départ pour la vérification des nouvelles entités
); ensemble
(répéter (setq pjinit (sslongueur pjss) inc pjinit); pj initial-sélection quantité & incrémenter
(si
(et
(=
[cdr [assoc 0 [setq edata [entget [setq pjent (ssname pjss [setq inc (1- inc))])]]]
"polyline" ; 2d "lourde" ou 3d polyline
); =
(ou
(= (cdr (assoc 100 (données inversées))) "acdb3dpolyline"); 3d
(membre (boole 1 6 (cdr (assoc 70 edata))) '(2 4); agrafé ou monté 2d
); ou
); et
(ssdel pjent pjss); supprimer 3d, splined/fitted 2d de l'ensemble
); si
); répéter
(setvar 'cmdecho 0)
(commande "_.undo" "_commencer")
(setvar 'peditaccept 1)
(setvar 'plinetype 2); [just in case; assumes no desire to save and set back if different](si pjss ; objet(s) éligible(s) sélectionné(s)
(cond ; alors
(= pjinit (longueur pjss) 1); sélectionné seulement un, et il est admissible
(command "_.pedit" pjss "_join" "_all" """"); joignez tout le possible à lui
); condition de sélection unique
(> (longueur pjss) 1); plus d'un objet admissible
(commande "_.pedit" "_multiple" pjss "" "_join" "0.0" "")
); condition de qualification multiple
((prompt "\nun objet non viable, ou <= 1 de sélection multiple viable."))
); cond
(prompt "\nnothing viable sélectionné.")
); extérieur si
(alors que (setq nextent (entnext nextent)); commencer par la première ligne nouvellement créée, le cas échéant
(si ; retourne les lignes/arcs non jumelés à la conversion de pline
(et ; pline à segment unique nouvellement créée à partir de ligne/arc non connectée
(= (cdr (assoc 90 (entrée suivante))) 2)
(non (vlax-courbe-circonscription))
); et
(commandation "_.explode" suivante)
); si
); pendant
(setvar 'peditaccept peac)
(commande "_.undo" "_end")
(setvar 'cmdecho cmde)
(principal)
); feu

(prompt "\ntype pj pour la commande polyline-join.")
ce lisp combine des lignes polylines et des arcs adjacents, si sélectionné seulement un élément ou seulement ceux sélectionnés, si la sélection est multiple.
sélectionnez le texte dans la fenêtre et enregistrez-le dans le fichier : polylinejoin.lsp
glisser le fichier dans la zone de travail ou le type autocad (charger "<disco: percorso=""></disco:>polylinejoin.lsp"), et tapez la commande : p.
 
Merci infiniment, pensant que le temps que j'ai perdu jusqu'à maintenant je vis pour pleurer, incroyable ce que tu pourrais faire en sachant que je joue. Merci encore.
salutations à tout le forum
 

Statistiques du forum

Sujets
58 521
Messages
499 056
Membres
104 110
Dernier membre
ChristianR

Membres en ligne

Aucun membre en ligne actuellement.
Retour
Haut