cxs259 发表于 2013-5-22 23:04:26

求助,完善下列交点统计程序中,谢谢!

求助,下列交点统计程序中,能否再完善,未相交点的一起统计出来并在端部用圆圈标示出来,谢谢!详见附图
(defun C:tt();;求框選交點
(setq ss(ssget '((0 . "line"))))
(setq ptlist '() )
(setq i 0)
(repeat(sslength ss)
    (setq en(ssname ss i))
    (setq j 0)
    (setq p10(cdr(assoc 10 (entget en))))
    (setq p11(cdr(assoc 11 (entget en))))
    (setq ss_2(ssget "F"(list p10 p11)))
    (setq ss_2(ssdel en ss_2))
    (repeat (sslength ss_2)
      (setq en_x(ssname ss_2 j))
      (if(ssmemb en_x ss)
(progn
(setq pa(cdr(assoc 10 (entget en_x))))
(setq pb(cdr(assoc 11 (entget en_x))))
(setq p0(inters p10 p11 pa pb))
(setq pt(osnap p0 "int"))
(if(= (member pt ptlist) nil)
    (setq ptlist(cons pt ptlist))
);if
);p
      );if
      (setq j(+ j 1))
    );r
    (setq i(+ i 1))
);r
;(foreach pt ptlist(command"circle" pt 10))
(alert(strcat "交點共" (itoa (length ptlist)) "個"))
(prin1)
)

wowan1314 发表于 2013-5-23 00:55:48

建议贴个图。详细说明下!
这样别人也可直观的看到。
人都是懒惰的,要是下了你的图才发现帮不到!多浪费时间!

建议而已

cxs259 发表于 2013-5-23 10:39:40

wowan1314 发表于 2013-5-23 00:55 static/image/common/back.gif
建议贴个图。详细说明下!
这样别人也可直观的看到。
人都是懒惰的,要是下了你的图才发现帮不到!多浪费 ...

接受建议,贴个图

fl202 发表于 2013-5-24 15:36:00


(IF (= B "LINE")
          (PROGN
          (SETQ PTA (CDR (ASSOC 10 (ENTGET A))) PTB (CDR (ASSOC 11 (ENTGET A))))
          (IF (equal (CAR PTA) (CAR PTB) 0.001);x坐标相等
            (SETQ VL (CONS (LIST PTA PTB) VL));点坐标放入垂直表VL中
            (SETQ HL (CONS (LIST PTA PTB) HL));点坐标放入水平表VH中
          )
      ))
      (SETQ I (1+ I))
    )
    ;--------------- 求水平线与垂直线的交点 --------------
    (SETQ N_L 0)
    (REPEAT (LENGTH HL)
       (SETQ PPL (NTH N_L HL))
       (SETQ P1 (CAR PPL) P2 (CADR PPL))
       (SETQ N_V 0)
       (REPEAT (LENGTH VL)
         (SETQ PPL (NTH N_V VL))
         (SETQ P3 (CAR PPL) P4 (CADR PPL))
         (IF (AND (NOT (EQUAL P1 P3)) (NOT (EQUAL P1 P4))
                  (NOT (EQUAL P2 P3)) (NOT (EQUAL P2 P4))
                  (SETQ PJD (INTERS P1 P2 P3 P4)))
               (SETQ JDB (CONS PJD JDB))
         )
         (SETQ N_V (1+ N_V))
       )
       (SETQ N_L (1+ N_L))
    )

LIULISHENG 发表于 2020-3-7 11:26:26

下来试一试
页: [1]
查看完整版本: 求助,完善下列交点统计程序中,谢谢!