涛涛_1048 发表于 2019-7-12 09:56:27

楼板加腋问题

      现在做地下车库为了画图和施工方便并增加车库的净空和美观,也为了节省钢筋,很多都是采用的大板结构,楼板采取加腋形式,不过现在画加腋比较慢。希望论坛同仁能给写一个楼板加腋的程序。
      加腋画法是从梁边开始偏移,输入偏移距离,然后剪切,连接该图形与柱子的角点,然后把所有画出的线给变为“楼板加腋”图层。柱子和梁都是独立的图层。

1291500406 发表于 2019-7-12 12:59:08

本帖最后由 1291500406 于 2019-7-12 19:25 编辑

中午休息时间帮你写的,你试试把
(defun c:bb( / dd pt oo bbo ptlstl1 l2 l3 l4ptlst1p1 p2 p3 p4 oo1 p5 p6 p7 p8)
(vl-load-com)(if (setqdd(-(getreal"\n必强提示:请输入偏移距离")))(progn(defun bb-asssoc (a lst / b lst2)(while (setq b (assoc a lst))
(setq lst(cdr (member b lst)) lst2 (cons (cdr b) lst2)))(reverse lst2))(defun bb-entline (b b1)(entmake (list '(0 . "LINE")
(cons 10 b) (cons 11 b1)(cons 8 "楼板加腋")(cons 6 "Continuous"))))(defun bb-offset (a )(vl-catch-all-apply 'vla-offset (list (vlax-ename->vla-object
(ssname bbo a)) dd)))(while(setq pt(getpoint"\n必强提示:指定区域楼板加腋"))(if pt(progn(bpoly pt) (setq oo(entlast))(Setq bbo (ssget "f"
(mapcar 'cdr (vl-remove-if '(lambda (x)(/= 10 (car x)))(entget oo)))'((0 . "LINE")(8 . "BEAM,梁实线,梁虚线"))))(bb-offset 0)(setq l1(entlast))
(bb-offset 1)(setq l2(entlast))(bb-offset 2)(setq l3(entlast))(bb-offset 3)(setq l4(entlast))(setq ptlst(bb-asssoc 10 (entget oo))p1 (nth 1 ptlst)p2
(nth 4 ptlst)p3(nth 7 ptlst)p4(nth 10 ptlst))(bpoly (list(/(+(car p1)(car p3))2.0)(/(+(cadr p1)(cadr p3))2.0)))(setq oo1(entlast)ptlst1(bb-asssoc 10 (entget oo1)))
(vl-cmdf "change" oo1 "" "p""la" "楼板加腋" "lt" "continuous" "" )(setq p5 (nth 0 ptlst1)p6 (nth 1 ptlst1)p7(nth 2 ptlst1)p8(nth 3 ptlst1))
(bb-entline p1 p5)(bb-entline p2 p6)(bb-entline p3 p7)(bb-entline p4 p8)(entdel oo)(entdel l1)(entdel l2)(entdel l3)(entdel l4))))))(princ))

hdlyt11 发表于 2019-7-13 18:19:08

只有测试图可以,即使画的很规范好像也不可以

涛涛_1048 发表于 2019-7-12 23:29:36

1291500406 发表于 2019-7-12 12:59
中午休息时间帮你写的,你试试把
(defun c:bb( / dd pt oo bbo ptlstl1 l2 l3 l4ptlst1p1 p2 p3 p4...

真心感谢必强同学,真是帮了我大忙了,其实这也是建筑类的结构专业的福音,我看了一下,看帖子的一共有六十多人,一般关心这个的都是做结构的。我今天画了一天的加腋,才画了不到一半,画画就不想画了,重复的劳动太累人了。还好有论坛在,更有像必强同学这样的热心人,我也要学习一下lisp,对于简单的程序也可以写给别人。

500w008 发表于 2019-7-13 15:17:42

1291500406 发表于 2019-7-13 16:29:33

500w008 发表于 2019-7-13 15:17
CAD2013 用这个插件发生内外偏线

我的代码你要是看懂了,就不会这么问了,
这个代码对图纸的规范性要求很高,直线图层,BEAM,梁实线,梁虚线
内部面域封闭,当前绘图窗口的大小,否则结果会出错

500w008 发表于 2019-7-13 16:31:12

涛涛_1048 发表于 2019-7-13 22:37:02

hdlyt11 发表于 2019-7-13 18:19
只有测试图可以,即使画的很规范好像也不可以

插件一般都是要看图层的,只要图层对上了,就可以很顺利的运行的。你可以试试

cghdy 发表于 2019-7-16 12:44:45

哪位高手补充一下批量操作的写法

mocheng 发表于 2019-10-20 22:56:46

有两条边会往外偏
页: [1]
查看完整版本: 楼板加腋问题