0 Members and 1 Guest are viewing this topic.
; Split Polyline by trimming either side of a line (This is dodgy)(defun c:trpl (/ MSPC PT LN1 LN2 VE1 VE2 VP1 VP2 TR) (vl-load-com) (setq mspc (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) tr (ssadd)) (setq pt (cadr (entsel)) ve1 (car (nentselp pt)) ve2 (entnext ve1)) (setq vp1 (cdr (assoc 10 (entget ve1))) vp2 (cdr (assoc 10 (entget ve2)))) (command "_UNDO" "BEGIN") (setq ln1 (vlax-vla-object->ename (vla-addline mspc (vlax-3d-point vp1) (vlax-3d-point (list (+ (car vp1) 1.) (+ (cadr vp1) 1.) (caddr vp1) )) ) ) ) (ssadd ln1 tr) (setq ln2 (vlax-vla-object->ename (vla-addline mspc (vlax-3d-point vp2) (vlax-3d-point (list (+ (car vp2) 1.) (+ (cadr vp2) 1.) (caddr vp2) )) ) ) ) (ssadd ln2 tr) (command "_TRIM" tr "" pt "") (setq tr nil) (entdel ln1) (entdel ln2) (command "_UNDO" "END") (princ) )
(defun c:test (/ e) (and (setq e (entsel "\nSelect *Polyline: ")) (command "_.trim" e "" e "")) (princ))
This should make you laugh:Code: [Select](defun c:test (/ e) (and (setq e (entsel "\nSelect *Polyline: ")) (command "_.trim" e "" e "")) (princ))
(<Entity name: 7da769b8> (84.6011 56.7525 0.0))
(setq ent ( car e))
Several commands will use the list (ename point), look at Break.
And not using lisp. Select Pline as cutting edge, then select segment to remove!
Quote from: alanjt on November 11, 2009, 12:35:37 AMThis should make you laugh:Code: [Select](defun c:test (/ e) (and (setq e (entsel "\nSelect *Polyline: ")) (command "_.trim" e "" e "")) (princ)) hahaha. dearie me . Thanks Alan.Quote from: Serge J. Gianolla on November 11, 2009, 01:53:14 AMAnd not using lisp. Select Pline as cutting edge, then select segment to remove!Sorry what command is that?
Command: tr TRIMCurrent settings: Projection=UCS, Edge=NoneSelect cutting edges ...Select objects or <select all>: 1 foundSelect objects:Select object to trim or shift-select to extend or[Fence/Crossing/Project/Edge/eRase/Undo]:Select object to trim or shift-select to extend or[Fence/Crossing/Project/Edge/eRase/Undo]:
He's referring to doing exactly what I did, except w/o code.Code: [Select]Command: tr TRIMCurrent settings: Projection=UCS, Edge=NoneSelect cutting edges ...Select objects or <select all>: 1 foundSelect objects:Select object to trim or shift-select to extend or[Fence/Crossing/Project/Edge/eRase/Undo]:Select object to trim or shift-select to extend or[Fence/Crossing/Project/Edge/eRase/Undo]: