乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 48|回复: 2

龙大侠请关注~

[复制链接]

11

主题

21

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2003-3-23 09:05:00 | 显示全部楼层 |阅读模式
不知龙大侠关于循环选择程序和透视程序的嵌套可有进展,,小弟实是一时难以实现,还请赐教,谢谢了!
回复

使用道具 举报

29

主题

1152

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1268
发表于 2003-3-24 08:05:00 | 显示全部楼层
再试试!! 只处理"polyline,line,lwpolyline,3dface,region"直线,含ARC的线不处理
;;注意:只处理"polyline,line,lwpolyline,3dface,region"直线,含ARC的线不处理
(defun C:TT (/ SS SS1 N N1 NN ENT CHECK TMP PT_LIST)
  (defun DO_IT (TMP)
    (if
      (and
        (not (equal (car TMP) (cadr TMP)))
        (= (vl-position TMP PT_LIST) NIL)
        (= (vl-position (list (cadr TMP) (car TMP)) PT_LIST) NIL)
      )
       (setq PT_LIST (append PT_LIST (list TMP)))
    )
  )
  (defun DO_IT1        (ENT / TMP)
    (setq TMP (list (cdr (assoc 10 ENT))
                    (cdr (assoc 11 ENT))
              )
    )
    (DO_IT TMP)
  )
  (setq SS (ssget '((0 . "polyline,line,lwpolyline,3dface,region"))))
  (setq PT_LIST '())
  (setq N 0)
  (repeat (sslength SS)
    (setq ENT (ssname SS N))
    (setq CHECK (cdr (assoc 100 (reverse (entget ENT)))))
    (cond
      ((or (= CHECK "AcDbPolygonMesh") (= CHECK "AcDbFace"))
       (if (= CHECK "AcDbPolygonMesh")
         (progn
           (command "_.COPY" ENT "" "0,0" "@")
           (command "_.EXPLODE" (entlast))
           (setq SS1 (ssget &quot"))
         )
         (progn (setq SS1 (ssadd)) (ssadd ENT SS1))
       )
       (setq N1 0)
       (repeat (sslength SS1)
         (setq ENT (entget (ssname SS1 N1)))
         (setq NN 0)
         (setq LINE0 (list (cdr (assoc 10 ENT))
                           (cdr (assoc 11 ENT))
                     )
               LINE1 (list (cdr (assoc 11 ENT))
                           (cdr (assoc 12 ENT))
                     )
               LINE2 (list (cdr (assoc 12 ENT))
                           (cdr (assoc 13 ENT))
                     )
               LINE3 (list (cdr (assoc 13 ENT))
                           (cdr (assoc 10 ENT))
                     )
         )
         (repeat 4
           (setq TMP (eval (read (strcat "LINE" (rtos NN)))))
           (DO_IT TMP)
           (setq NN (1+ NN))
         )
         (setq N1 (1+ N1))
       )
       (command "_.ERASE" SS1 "")
      )
      ((or (= CHECK "AcDb3dPolyline")
           (= CHECK "AcDb2dPolyline")
           (= CHECK "AcDbPolyline")
           (= CHECK "AcDbModelerGeometry")
       )
       (command "_.COPY" ENT "" "0,0" "@")
       (command "_.EXPLODE" (entlast))
       (setq SS1 (ssget &quot"))
       (setq N1 0)
       (repeat (sslength SS1)
         (setq ENT (ssname SS1 N1))
         (DO_IT1 (entget ENT))
         (setq N1 (1+ N1))
       )
       (command "_.ERASE" SS1 "")
      )
      (t
       (DO_IT1 (entget ENT))
      )
    )
    (setq N (1+ N))
  )
  ;(command "_.ERASE" SS "")
  PT_LIST
)
回复

使用道具 举报

11

主题

21

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2003-3-25 16:47:00 | 显示全部楼层
非常感谢龙龙仔大侠,可以了,我从你返回的PT_LIST表中很方便地得到了所需的顶点坐标。[br]
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-6-5 04:35 , Processed in 3.466451 second(s), 70 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表