ucuc2003 发表于 2013-6-1 14:31:44

求一个画上悬窗的小程序

本帖最后由 ucuc2003 于 2013-6-5 09:40 编辑

画上悬窗要求:1、点选闭合区域内部,生成一个方框,并画出上悬窗
                      2、生成的方框和上悬窗随层,不用指定颜色和图层
                      3、生成的方框与原闭合区域相距50mm
                      4、可以点选多个闭合区,一次性生成这样的上悬窗,也可以框选
下面是一个拾取内部点创建边界的小程序。cad图是图例
(defun C:tt()
(princ "\n拾取内部点创建边界:")
(command "-boundary" pause)
(princ)
)

Andyhon 发表于 2013-6-1 14:31:45

No error check
(defun C:tt()
(vl-load-com)
(princ "\n拾取内部点创建上悬窗: ")
(while (setq pt (getpoint))
    (setq ee (bpoly pt))
    (vla-offset (vlax-ename->vla-object ee) -50)
    (setq ee (entlast)
         pts (acet-ent-geomextents ee)          ; ET function
          pa (car pts)
          pc (cadr pts)
    )
    (command "pline" "none" pa "none"
      (mapcar
      (function (lambda (a b) (/ (+ a b) 2)))
      pc
      (list (car pa) (cadr pc))
   )
    "none"
   (list (car pc) (cadr pa))
   ""
    )
)   
(princ)
)

ucuc2003 发表于 2013-6-1 15:31:42

本帖最后由 ucuc2003 于 2013-6-5 10:33 编辑

Andyhon 发表于 2013-6-5 10:04 static/image/common/back.gif
No error check
您好,刚才测试了,能实现批量点选。能不能增加框选功能?

bai2000 发表于 2013-6-3 14:47:28

这个最好是点选才好用的,测试上面的程序发现没上悬窗的中间的交叉线,加上就完美了

ucuc2003 发表于 2013-6-3 15:25:41

bai2000 发表于 2013-6-7 09:47 static/image/common/back.gif
这个最好是点选才好用的,测试上面的程序发现没上悬窗的中间的交叉线,加上就完美了

有图吗?示意一下

bai2000 发表于 2013-6-3 20:09:27

本帖最后由 bai2000 于 2013-6-3 20:11 编辑

ucuc2003 发表于 2013-6-3 15:25 http://bbs.mjtd.com/static/image/common/back.gif
有图吗?示意一下

就是没有矩形中表示上悬铰链的两条斜线啊

ucuc2003 发表于 2013-6-3 20:15:20

(defun C:tt()
(vl-load-com)
(princ "\n拾取内部点创建上悬窗: ")
(while (setq pt (getpoint))
    (setq ee (bpoly pt))
    (vla-offset (vlax-ename->vla-object ee) -50)
)
(princ)
)
试一下

Andyhon 发表于 2013-6-3 21:53:21

...上悬铰链的两条斜线啊...

不欲外行人知之乎!?

52幕墙设计 发表于 2013-6-8 21:48:00

安装ET否?

ucuc2003 发表于 2013-6-8 21:48:41

52幕墙设计 发表于 2013-6-12 16:48 static/image/common/back.gif
安装ET否?

已经安装了!!
页: [1] 2 3
查看完整版本: 求一个画上悬窗的小程序