The *PARAM* method means different things for different objects. In the
case of a polyline, it means a 'REAL number representing the position on the
polyline counting by primary vertices.
Here's an example:
(defun c:splitpoly ( / e ent etyp osmode cmd object closed
start end dist midp z)
(while (setq e (car (entsel "\nSelect a polyline to split: ")))
(setq ent (entget e)
etyp (cdr (assoc 0 ent))
object (vlax-ename->vla-object e)
)
(if (wcmatch etyp "LWPOLYLINE,POLYLINE")
(progn
(setq osmode (getvar "osmode")
cmd (getvar "cmdecho")
object (vlax-ename->vla-object e)
closed (= (logand (cdr (assoc 70 ent)) 1) 1)
end (vlax-curve-getendparam object)
dist (* 0.5 (vlax-curve-getDistAtParam object end))
midp (vlax-curve-getPointAtDist object dist)
)
(if (= etyp "LWPOLYLINE")
(setq z (cdr (assoc 38 ent))
start (cdr (assoc 10 ent))
start (list (car start)(cadr start) z)
midp (list (car midp)(cadr midp) z)
)
(setq start (cdr (assoc 10 (entget (entnext e)))))
)
(setvar "osmode" 0)
(setvar "cmdecho" 0)
(command "_.break" e (trans midp 0 1) "@")
(if (and closed (= etyp "LWPOLYLINE"))
(command "_.break" e (trans start 0 1) "@")
)
(setvar "osmode" osmode)
(setvar "cmdecho" cmd)
(prompt (strcat "\nPolyline split into " (rtos dist) " long
pieces"))
)
(prompt (strcat " Object selected is a(n) " etyp))
)
)
(princ)
)
--
John Uhden, Cadlantic/formerly CADvantage
--> mailto:juhden@cadlantic.com
--> http://www.cadlantic.com
2 Village Road
Sea Girt, NJ 08750
Tel. 732-974-1711
FAX 732-528-1332
"jmodglin" wrote in message
news:f084f7f.2@WebX.maYIadrTaRb...
> Thanks Cliff, That was way too easy. I have never really understood the
meaning of parameter as used by AutoCAD Methods. Could somebody give me
direction on when (besides in this case) that I can used the **Param
Methods? Thanks. Joshua Modglin
>