关于图块动态变换
本帖最后由 尘缘一生 于 2024-9-6 06:04 编辑这两天,用户提出这个问题,
透过块操作的一些事,我基本不存在,我画图纸,从来见块就炸,因为这个块,实际就是人为的给自己罩了个紧箍咒,虽然三领有块集成,见图如下:
那么,块如何X,Y动态比例,把块可以任意的,左右,上下,随便调整?当然,三维还存在有Z,包括角度等
关于建筑设计的话,你大不了也就30张图,为什么你非得弄些块呢?如果没有块,你想怎么作,简单多了,然而,必定有人是喜欢块的^_^,
有喜欢的,你就得作这一套系统,实际,垃圾的很,包括门窗啊,楼梯啊,钢筋啊,这些玩意,在我来说,都不屑一开发的东西。对于一个工程师来说,你必定掌握好一套大型软件,达到专家级别,否则你怎么吃这碗饭的?建筑来说,现在是,PKPM,天正,哪边都开发了,你还开发的什么?
这是我刚画完的一套三层框架钢构,也就28张。
说个题外的:那个弯弯,竟然回复我说的那个布局空间画图的恶心问题,问我画过市政吗?道路吗?桥梁吗?我懒得搭理和回复,你知道我画过什么图?你所疑惑的奥,你疑惑什么?你以为一个设计师一辈子就干一个事吗?你怀疑我没画过,没干过?巧了,本人就是什么都设计,包括古建筑,机械,模具。我就是全部画过的,干过的,领工程队干过的,你一个台湾省的小弯弯,你懂得什么?
随便写写,贴上保存备案,以备集成。
注:实际上,这个玩意可以和动态填充比例角度,线型比例,综合一个集成就是了。
;;动态图块比例-----(一级)---------
;Modify by SLdesignQQ: 15290049
(defun dyblk (blknam / plis dx0 dx dy0 dy p0 els pt loop ang f3 f8 bb p00)
(command "_.undo" "be")
(setq plis (ebox4 blknam) p0 (car plis) dx0 (distance p0 (cadr plis)) dy0 (distance p0 (cadddr plis)) els (entget blknam))
;(princ
;(slmsg "\n->[正交(F8)/扑捉(F3)](45度斜拉,左右键...>退出)"
; "\n->[タユ(F8)/汲(F3)](45弊┰オ龄...>癶)"
; "\ n -> (45 degree diagonal pull Left and Right keys...>Exit)"
;)
;)
(princ "\n->[正交(F8)/扑捉(F3)](45度斜拉,左右键...>退出)")
(setq loop t f8 (getvar "ORTHOMODE") f3 (getvar "OSMODE"))
(while loop
(setq bb (grread t 15 2) p00 (cadr bb))
(cond
((equal bb '(2 6));F3切换捕捉开关
(cond
((and (< f3 16384) (/= f3 0))
(setq f3 (+ f3 16384))
;(prompt (slmsg "\n <对象捕捉 关>" "\n <癸禜 闽>" "\n <OSnap Off>"))
(prompt "\n <对象捕捉 关>")
)
((or (= f3 0) (>= f3 16384))
(setq f3 16383)
;(prompt (slmsg "\n <对象捕捉 开>" "\n <癸禜 秨>" "\n <OSnap On>"))
(prompt "\n <对象捕捉 开>")
)
)
(setvar "OSMODE" f3)
)
((equal bb '(2 15)) ;F8切换正交开关
(if (= f8 0)
;(progn (setq f8 1) (prompt (slmsg "\n <正交 开>" "\n <タユ 秨>" "\n <Orth open>")))
(progn (setq f8 1) (prompt "\n <正交 开>"))
;(progn (setq f8 0) (prompt (slmsg "\n <正交 关>" "\n <タユ 闽>" "\n <Orth off>")))
(progn (setq f8 0) (prompt "\n <正交 关>"))
)
(setvar "ORTHOMODE" f8)
)
((= (car bb) 5)
(if (= f8 1)
(progn
(setq ang (angle p0 p00))
(cond
((or (and (> ang pi4) (< ang 3pi4)) (and (> ang 5pi4) (< ang 7pi4)))
(setq pt (list (car p0) (cadr p00)))
)
(t
(setq pt (list (car p00) (cadr p0)))
)
)
)
(setq pt p00)
)
(if (and (<= f3 16384) (> f3 0) (/= f8 1))
(setq pt (slosnappt nil pt))
)
(setq dx (* 3.0 (abs (- (car p0) (car pt)))) dy (* 3.0 (abs (- (cadr p0) (cadr pt)))))
(entmod (emod (emod els 41 (/ dx dx0)) 42 (/ dy dy0))) ;左右,上下,动态调整了
(entupd blknam)
)
((or
(member (car bb) '(11 25)) ;;右键
(member bb '((2 13))) ;;左键
(= (car bb) 3) ;;回车
)
(setq loop nil)
)
)
)
(command "_.undo" "e")
(princ)
)
;;测试
(defun c:tt ()
(setq blknam (car (entsel))) ;选块
(dyblk blknam)
)
我画方案图已经开始尝试全图块啦,你不用块,你画图真的需要画图
用块的话,因为块名具有唯一性,就相当于有个身份证
当你的图块实现一定的标准化,你根本不需要图块,你只需要亮出身份证
假如谁拿了我的图,全炸了,我也会炸了 本帖最后由 尘缘一生 于 2024-9-6 06:03 编辑
再细一下子
还应该作,支持输入定值功能,以后再说吧。
;;动态图块比例-----(一级)---------
;Modify by SLdesign V3.0 尘缘一生 QQ: 15290049
(defun dyblk (blknam / plis dx0 dx dy0 dy p0 els pt loop ang ang0 f3 f8 bb p00 k1 k2 k3)
(command "_.undo" "be")
(setq plis (ebox4 blknam) p0 (dxf1 blknam 10) dx0 (distance (car plis) (cadr plis)) dy0 (distance (car plis) (cadddr plis)) els (entget blknam) ang0 (dxf1 blknam 50))
(princ (slmsg
"\n->(左右键...>退出)"
"\n->(オ龄...>癶)"
"\n-> (left and right keys...>exit)"
)
)
(setq loop t k1 t k2 t f8 (getvar "ORTHOMODE") f3 (getvar "OSMODE"))
(while loop
(setq bb (grread t 15 2) p00 (cadr bb))
(redraw)
(cond
((equal bb '(2 6));F3切换捕捉开关
(cond
((and (< f3 16384) (/= f3 0))
(setq f3 (+ f3 16384))
(prompt (slmsg "\n <对象捕捉 关>" "\n <癸禜 闽>" "\n <OSnap Off>"))
)
((or (= f3 0) (>= f3 16384))
(setq f3 16383)
(prompt (slmsg "\n <对象捕捉 开>" "\n <癸禜 秨>" "\n <OSnap On>"))
)
)
(setvar "OSMODE" f3)
)
((equal bb '(2 15)) ;F8切换正交开关
(if (= f8 0)
(progn (setq f8 1) (prompt (slmsg "\n <正交 开>" "\n <タユ 秨>" "\n <Orth open>")))
(progn (setq f8 0) (prompt (slmsg "\n <正交 关>" "\n <タユ 闽>" "\n <Orth off>")))
)
(setvar "ORTHOMODE" f8)
)
((= (car bb) 5)
(redraw)
(if (= f8 1)
(progn
(setq ang (angle p0 p00))
(cond
((or (and (> ang pi4) (< ang 3pi4)) (and (> ang 5pi4) (< ang 7pi4)))
(setq pt (list (car p0) (cadr p00)))
)
(t
(setq pt (list (car p00) (cadr p0)))
)
)
)
(setq pt p00)
)
(if (and (<= f3 16384) (> f3 0) (/= f8 1))
(setq pt (slosnappt nil pt))
)
(grdraw p0 pt 1 3)
(setq dx (* 3.0 (abs (- (car p0) (car pt)))) dy (* 3.0 (abs (- (cadr p0) (cadr pt)))) ang (angle p0 pt))
(cond
((and k1 (not k2))
(entmod (emod els 41 (/ dx dx0)))
)
((and k2 (not k1))
(entmod (emod els 42 (/ dy dy0)))
)
((and k1 k2)
(entmod (emod (emod els 41 (/ dx dx0)) 42 (/ dy dy0)))
)
(k3 (entmod (emod els 50 ang)))
)
(entupd blknam)
)
((member bb '((2 9))) ;;table XY同时
(entmod (emod (emod (emod els 50 ang0) 41 1.0) 42 1.0))
(entupd blknam)
(setq k1 t k2 t k3 nil)
)
((member bb '((2 88) (2 120)));;定X比
(entmod (emod (emod (emod els 50 ang0) 41 1.0) 42 1.0))
(entupd blknam)
(setq k1 t k2 nil k3 nil)
)
((member bb '((2 89) (2 121)));;定Y比
(entmod (emod (emod (emod els 50 ang0) 41 1.0) 42 1.0))
(entupd blknam)
(setq k1 nilk2 t k3 nil)
)
((member bb '((2 65) (2 97))) ;;A定角
(entmod (emod (emod (emod els 50 ang0) 41 1.0) 42 1.0))
(entupd blknam)
(setq k1 nilk2 nil k3 t)
)
((or
(member (car bb) '(11 25)) ;;右键
(member bb '((2 13))) ;;左键
(= (car bb) 3) ;;回车
)
(setq loop nil)
)
)
)
(redraw)
(command "_.undo" "e")
(princ)
)
;;测试
(defun c:tt ()
(setq blknam (car (entsel))) ;选块
(dyblk blknam)
)
本帖最后由 尘缘一生 于 2024-9-6 17:06 编辑
陨落 发表于 2024-9-6 14:27
看他经常发他画的一些小玩意儿,然后在那里洋洋自得,像世外高人一样点评一些十年前就已经被大家广为接受 ...
我不止一次的说过,如果你不是深入了解一个问题,本坛人没资格也不能恢复我得帖子,因为,你太窄,太小,会的太少,经典的设计你并没有,得过多少奖的?,世界吉尼斯得到过吗?很简单的一个设计,你就不会,比如,我叫你画个农村的土炕,你也画不对的,因为,看要求高低了,
倒是那个土瓦匠没图,盘的炕哪,是最棒的,科班这些出生的,反倒不行,画的图也是就那么回事。
随便一个门类,你这辈子都接触不了。到死都不可能。
发几个库,看看里面那些是我的名字,哪些不是。
首先说明:库里有保密协议一部分,涉及复杂工艺部分的。
你的图,到了工地,经常被施工的总工,叼着烟的嘲笑你,虽然给你陪个笑脸,你错了,即便没见到画图的这个人,他一看图,就知道你多大,年龄多大了,干了几年了,大约是什么学校毕业的,清清楚楚。
至于个方案吗,除了大型规划,有专门的规划设计师,简单的,就自己处理了,
对于熟练PKPM来说,处理很简单。
注:就目前PKPM来看,出现了大问题,那就是,由于规范的频繁改动,凡PKPM结构设计的,尤其钢构造价已经基本升高了接近1/3.
估计天正结构不会出现这个大问题,市场来看,业主,都知道设计院胡咧咧的画图,画的图,也就为办手续,不用还影响验收,实际上,社会现在骂声一片了。
因此,你的图到底怎么样呢?不能自己觉得,我甲级设计院,牛逼,不是的,你的图,造价是多少的?可以横向比较吗?经不住的话,那就不行。
看一下我全图块实现的事情
https://www.bilibili.com/video/BV1iw4m1v7dh/?vd_source=8ee7b1ed88904bfb4d8d82480a4969af 菜卷鱼 发表于 2024-9-6 08:54
看一下我全图块实现的事情
https://www.bilibili.com/video/BV1iw4m1v7dh/?vd_source=8ee7b1ed88904bfb4d8 ...
看了下,好牛逼
好牛逼,三层钢框架,,真是了不起 菜卷鱼 发表于 2024-9-6 08:44
我画方案图已经开始尝试全图块啦,你不用块,你画图真的需要画图
用块的话,因为块名具有唯一性,就相当于 ...
哈哈,淡定淡定。
有些人研究cad,研究了一点点但不多,然后还看不上别人快捷且有效的办法。
以自己浅薄的认知在论坛里面发帖子大书特书这点浅薄的理解。
确实给大家提供了不少笑料,这是他存在的合理性。 格局有多大,留言就多大。
图块,布局,引用,还是很方便的。
年龄阅历不是资本,快捷精通使用各种方法,才是境界的高低。 crtrccrt 发表于 2024-9-6 14:13
格局有多大,留言就多大。
图块,布局,引用,还是很方便的。
看他经常发他画的一些小玩意儿,然后在那里洋洋自得,像世外高人一样点评一些十年前就已经被大家广为接受的入门级画图技术,真是让人忍俊不禁。
页:
[1]
2