(命令
“圆角”“\u r”0.03
“.fillet”“\u polyline”b1
“_.fillet”“\u polyline”b2
“.fillet”“\u polyline”b6
“.fillet”“\u polyline”b9
“_.fillet”“\u polyline”(mapcar’+pLL(列表10.941 2.5 0))
“_.fillet”“\u polyline”(地图车'+脉冲(列表10.941-2.5 0))
) 好交易。 亲爱的大家!
请帮帮我!
(defun fb(r1 r2 b)
....
)
需求内容如图所示
https://drive.google.com/file/d/0B4IWlz7EzcZLa3Z0X2hCWGh5bWc/view?usp=sharing
链接:https://drive.google.com/file/d/0B4IWlz7EzcZLa3Z0X2hCWGh5bWc/view?usp=sharing
你好萬里独行 欢迎来到论坛
请理解,我们是志愿者,所以不要期望过高
1.如果闭合多段线,则效果不佳。(提示:dxf 70)
2.偏移过大时出错
3.仅应用标准圆角和半径
所以你可以学习,修改等等。。
希望总比什么都没有好
;fop.lsp :fillet open polyline
(defun c:fop (/ *error*r e d)
;hanhphuc 2014
(defun *error* (msg) (if msg
(princ "\n*cancel*")))
(if (and (not (initget 5))
(setq r (getdist "\nRadius : "))
(not (initget 7))
(setq d (getdist "\nWidth : "))
(setq e (entsel "\nSelect Polyline.. "))
(setq e (car e))
(=(cdr(assoc 0 (entget e)))"LWPOLYLINE")
(vl-cmdf "_fillet" "P" e)
(setq e (vlax-ename->vla-object e))
) ;_ end of and
(foreach x '("StartPoint" "EndPoint")
(entmakex
(vl-list* '(0 . "LINE")
(cons 8 (vla-get-layer e))
(mapcar 'cons
'(10 11)
(mapcar '(lambda (o) ((eval (read (strcat "vlax-curve-get" x))) o))
(apply 'append (mapcar ''((x) (vlax-invoke e 'Offset (x (* d 0.5)))) (list + -)))
) ;_ end of mapcar
) ;_ end of mapcar
) ;_ end of vl-list*
) ;_ end of entmakex
) ;_ end of foreach
(princ "\nsorry..")
) ;_ end of if
(princ)
)
非常感谢!但是
圆角多段线具有2个半径:R1和R2
+R1表示结束
+R2用于MID
请
很抱歉我的英语太差了!
这意味着你只有2个R1,为什么可以手动完成??
使用FOP。中间R2的lsp。
如果完全自动化,则需要编写单圆角函数。但希望我能有更多的空闲时间
以下是一些有用的多段线工具HTH 可用时间:
1、开放多段线。
2、层边界。
输入:R1、R2和B
1.R1是起点和终点的圆角半径。
2.R2是剩余顶点之间的圆角半径
3.B是边界宽度。
要求:
边界是“边界”层中的多段线(可用)
(*)详细说明见附件。
普林。图纸
页:
1
[2]