中华钢结构论坛 China Structure Forum                                              XinY structural consultants ltd

 
求一个将矩形批量转为三维面的程序
OWNER






积分 148
帖子 133
2016-6-5 22:34    顶部


求一个将矩形批量转为三维面的程序!
CGGCENGINEER






积分 303
帖子 163
2016-8-11 21:21    QQ 顶部
用面域region命令即可。
OWNER






积分 148
帖子 133
2017-3-18 15:21    顶部
region出来的不是三维面。
00nan






积分 305
帖子 164
2017-4-14 11:41    顶部
矩形不是一个严格的CAD图元定义。
CAD中的矩形命令做出的图元是一个有四个顶点且闭合的轻量化多段线(LWPOLYLINE),下面的程序可以将这样的多段线转换成三维面(3DFACE)。命令tt
(defun c:tt( / ss  ename n i ptlst layer)
    (setq ss (ssget '((0 . "LWPOLYLINE") (90 . 4) (70 . 1))))
        (if ss
                (progn
                    (setq i  0)
                        (repeat (sslength ss)
                                (setq ename (ssname ss i)
                      layer (cdr (assoc 8 (entget ename)))                               
                                      i     (1+ i)
                                      ptlst (GET:LwPtUCSCor ename 0))
                                (entdel ename)
                                (DR:3dface layer ptlst)))))
;;子程序做3dface
(defun DR:3dface (layer ptlst)
        (entmake
                (list
                        '(0 . "3DFACE")
                        '(100 . "AcDbEntity")
                        (cons 8 layer)
                        '(100 . "AcDbFace")
                        (cons 10 (car ptlst))
                        (cons 11 (cadr ptlst))
                        (cons 12 (caddr ptlst))
                        (cons 13 (last ptlst))
                        '(70 . 0))))
;;子程序取lwpolyline的坐标
(defun GET:LwPtUCSCor (entname csflag / lwplellst lwplptlst z)
    (setq lwplellst  (entget entname)
                  z          (cdr (assoc 38 lwplellst))
              lwplptlst  (mapcar '(lambda(x) (cdr (reverse (cons z (reverse x))))) (vl-remove-if-not '(lambda(x) (= 10 (car x))) lwplellst)))
        (mapcar '(lambda(x)(trans x entname csflag)) lwplptlst))

对于首尾顶点重合,但闭合标志为不闭合的表观闭合lwpolyline及3dpoly生成的polyline没有考虑,如果有需要,可以增加相应的子函数并扩展代码。



http://bbs.mjtd.com/?fromuid=398403
OWNER






积分 148
帖子 133
2017-5-14 22:37    顶部
用了一下,很好用,再次谢谢这位兄弟!
 


上海市通信管理局
沪ICP备020910
联系我们 版权声明 发帖规则 论坛制度 关于我们
版权所有.中华钢结构论坛.永久保留所有权利

[Processing Time] User:0.28, System:0.03, Children of user:0, Children of system:0