明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1158|回复: 7

[提问] 如何将下面的源码修改成下悬窗或左侧平开窗或者右侧平开窗?

[复制链接]
发表于 2022-10-26 15:38:43 | 显示全部楼层 |阅读模式
如何将下面的源码修改成下悬窗或左侧平开窗或者右侧平开窗?
;;;拾取内部点创建上悬窗
(defun C:tt5 (/ tc col oldc pt ee pts pa pc)
    (setvar "cmdecho" 0)
    (vl-load-com)
    (princ "\n拾取内部点创建上悬窗: ")
    (while (setq pt (getpoint))
      (setq ee (bpoly pt))
      (setq ss (entlast))
      (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 "_.ERASE" ss "")
      (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))
       ""
      )
    );while
    (princ)
)
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2022-10-26 17:15:49 | 显示全部楼层
(defun C:tt5 (/ ee pt pts ss ys yx zs zx)
        (setvar "cmdecho" 0)
        (vl-load-com)
        (setq pt (getpoint "\n拾取内部点创建上悬窗:"))
        (while pt
                (setq ee (bpoly pt))
                (setq ss (entlast))
                (vla-offset (vlax-ename->vla-object ee) -50)
                (setq
                        ee (entlast)
                        pts (acet-ent-geomextents ee) ; ET function
                        zx (car pts)
                        ys (cadr pts)
                        zs (list (car zx) (cadr ys))
                        yx (list (car ys) (cadr zx))
                )
                (command "_.erase" ss "")
                (command "pline" "none" zx "none" (mapcar '(lambda (a b) (/ (+ a b) 2)) ys zs) "none" yx "")
                (command "pline" "none" zs "none" (mapcar '(lambda (a b) (/ (+ a b) 2)) zx yx) "none" ys "")
                (command "pline" "none" zs "none" (mapcar '(lambda (a b) (/ (+ a b) 2)) ys yx) "none" zx "")
                (command "pline" "none" ys "none" (mapcar '(lambda (a b) (/ (+ a b) 2)) zx zs) "none" yx "")
                (setq pt (getpoint))
        );while
        (princ)
)
回复 支持 1 反对 0

使用道具 举报

发表于 2022-10-26 15:58:19 | 显示全部楼层
门窗这些为什么要去这样画出来呢?做成图块,特别是参数化动态块,而且能附加各种属性,能存储与表达各种设计信息(其实就是BIM的思想)。
 楼主| 发表于 2022-10-26 16:27:10 | 显示全部楼层
e2002 发表于 2022-10-26 15:58
门窗这些为什么要去这样画出来呢?做成图块,特别是参数化动态块,而且能附加各种属性,能存储与表达各种设 ...

还停留在原始社会
发表于 2022-10-26 17:17:53 | 显示全部楼层
各有需求 有的人都不会做动态块
发表于 2022-10-26 17:26:44 | 显示全部楼层
用院长的9点函数
 楼主| 发表于 2022-10-26 18:29:01 | 显示全部楼层
飞雪神光 发表于 2022-10-26 17:15
(defun C:tt5 (/ ee pt pts ss ys yx zs zx)
        (setvar "cmdecho" 0)
        (vl-load-com)

谢谢出手----
发表于 2022-10-27 09:48:57 | 显示全部楼层
飞雪神光 发表于 2022-10-26 17:15
(defun C:tt5 (/ ee pt pts ss ys yx zs zx)
        (setvar "cmdecho" 0)
        (vl-load-com)

真是个热心的好人啊~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-16 01:37 , Processed in 0.193973 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表