如何将下面的源码修改成下悬窗或左侧平开窗或者右侧平开窗?
如何将下面的源码修改成下悬窗或左侧平开窗或者右侧平开窗?;;;拾取内部点创建上悬窗
(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)
)
(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)
) 门窗这些为什么要去这样画出来呢?做成图块,特别是参数化动态块,而且能附加各种属性,能存储与表达各种设计信息(其实就是BIM的思想)。 e2002 发表于 2022-10-26 15:58
门窗这些为什么要去这样画出来呢?做成图块,特别是参数化动态块,而且能附加各种属性,能存储与表达各种设 ...
还停留在原始社会:$ 各有需求 有的人都不会做动态块 用院长的9点函数 飞雪神光 发表于 2022-10-26 17:15
(defun C:tt5 (/ ee pt pts ss ys yx zs zx)
(setvar "cmdecho" 0)
(vl-load-com)
谢谢出手---- 飞雪神光 发表于 2022-10-26 17:15
(defun C:tt5 (/ ee pt pts ss ys yx zs zx)
(setvar "cmdecho" 0)
(vl-load-com)
真是个热心的好人啊~
页:
[1]