本帖最后由 作者 于 2006-11-14 11:44:35 编辑
;;;一条线和多条线交点(表) (defun c:gxjj () (CMDLA0) (princ "\n选择第一条线 : ") (setq s0 (ssget '((0 . "*LINE,LWPOLYLINE,ARC,CIRCLE"))) S0 (ssname s0 0) ) (princ "\n选择其它的线 : ") (setq ss (ssget '((0 . "*LINE,LWPOLYLINE,ARC,CIRCLE"))) i 0 ) (setq s1 (ssname ss 0) pt0 (xyp-get-Inters s0 s1 0) ptn '()) (setq pt1 (getpoint "\n左上角: ") ww (UDIST 1 "" "\n宽度" ww pt1) hh (UDIST 1 "" "\n字高" hh pt1) pt2 (polar pt1 0 ww) pt3 (polar pt2 (* pi 1.5) (* hh 2)) pt4 (polar pt1 (* pi 1.5) (* hh 2)) ) (while (setq s1 (ssname ss (setq i (1+ i)))) (command "pline" pt2 pt1 pt4 pt3 "") (setq ptn (xyp-get-Inters s0 s1 0) dist (distance ptn pt0) pt0 ptn ) (command "text" "m" (inters pt1 pt3 pt2 pt4) hh 0 dist ) (setq pt1 pt4 pt2 pt3 pt4 (polar pt1 (* pi 1.5) (* hh 2)) pt3 (polar pt2 (* pi 1.5) (* hh 2)) ) (CMDLA1) )
总是说二维/三维参数类型有错误
是不是xyp-get-Inters 函数生成的是点集 distance数据类型不支持?
高手帮忙!
PS.换句话怎么把关联表中的表数据提取出来!~问题已经解决!~ |