在螺纹孔上加中心线(多谢cabinsummer 大师热情帮助)
本帖最后由 669423907 于 2011-11-5 23:11 编辑我加了切换图层的功能,哪位大师方便帮加上十字中心线吖?非常感激!
如果能开捕捉那就更好了!
(defun c:M10()
(setq la (getvar"clayer"))
(setvar "osmode" 0)
(setq p (getpoint"\nEnter the center:"))
(setq p1 (list (car p) (- (cadr p) 5)))
(setq p2 (list (- (car p) 5) (cadr p)))
(command "clayer" "0")
(command"circle" p 4.35)
(command "layer" "m" "螺纹" "c" "2" "" "lw" "0.13" "" "l" "Continuous" "" "")
(command"arc" "ce" p p1 p2)
(command "layer" "m" "中心线" "c" "1" "" "lw" "0.13" "" "l" "CENTER" "" "")
???????????????????????????????????????????????
(setvar "osmode" 6071)
(setvar "clayer"la))
本帖最后由 cabinsummer 于 2011-10-31 18:36 编辑
(defun c:cross(/ ss n ename edata pt pt1 pt2 pt3 pt4)
(if (setq ss (ssget '((0 . "circle")))) ;;;选择以圆构成的选择集
(progn
(setq n 0) ;;;选择集计数
(repeat (sslength ss) ;;;重复选择集元素的数量次数
(setq ename (ssname ss n)) ;;;图元名
(setq edata (entget ename)) ;;;图元数据
(setq r (cdr (assoc 40 edata))) ;;;提取圆的半径
(setq pt (cdr (assoc 10 edata))) ;;;提取圆的中心点
(setq pt1 (polar pt pi (* r 1.3))) ;;;中心线左端点
(setq pt2 (polar pt 0 (* r 1.3))) ;;;中心线右端点
(setq pt3 (polar pt (* pi 0.5)(* r 1.3))) ;;;中心线上端点
(setq pt4 (polar pt (* pi 1.5)(* r 1.3))) ;;;中心线下端点
(entmake (list '(0 . "line")(cons 10 pt1)(cons 11 pt2)'(8 . "center")));;;画水平线
(entmake (list '(0 . "line")(cons 10 pt3)(cons 11 pt4)'(8 . "center")));;;画垂直线
(setq n (1+ n)) ;;;选择集计数加一
)
)
)
(princ) ;;;静默退出
)
cabinsummer 发表于 2011-10-30 23:52
以下代码由块插入实现功能
里面的数字,不能变量吗 简单至极~~~~ cabinsummer 发表于 2011-10-30 22:26 static/image/common/back.gif
简单至极~~~~
看见风吹过,请留个影吧!? cabinsummer 发表于 2011-10-30 22:44 static/image/common/back.gif
非常感谢 cabinsummer 大师
马上试用! 使用方法:选择圆即可,可框选、点选、窗口选,无论多少自动加中心线。 cabinsummer 发表于 2011-10-30 22:44 static/image/common/back.gif
cabinsummer 大师吖,不是这样的!
我是只在画出螺纹孔的同时自动在螺纹孔上画出中心线。
麻烦大师帮合并一下啦! 本帖最后由 cabinsummer 于 2011-10-30 23:17 编辑
(defun c:M10()
(setvar "cmdecho" 0)
(setq la (getvar"clayer"))
(setvar "osmode" 0)
(setq p (getpoint"\nEnter the center:"))
(setq p1 (list (car p) (- (cadr p) 5)))
(setq p2 (list (- (car p) 5) (cadr p)))
(command "clayer" "0")
(command "circle" p 4.35)
(command "layer" "m" "螺纹" "c" "2" "" "lw" "0.13" "" "l" "Continuous" "" "")
(command "arc" "ce" p p1 p2)
(command "layer" "m" "中心线" "c" "1" "" "lw" "0.13" "" "l" "CENTER" "" "")
(setq pt1 (polar p pi 6.5))
(setq pt2 (polar p 0 6.5))
(setq pt3 (polar p (* pi 0.5) 6.5))
(setq pt4 (polar p (* pi 1.5) 6.5))
(entmake (list '(0 . "line")(cons 10 pt1)(cons 11 pt2)'(8 . "中心线")))
(entmake (list '(0 . "line")(cons 10 pt3)(cons 11 pt4)'(8 . "中心线")))
(setvar "osmode" 6071)
(setvar "clayer" la)
(princ)
)
cabinsummer 发表于 2011-10-30 22:59 static/image/common/back.gif
使用方法:选择圆即可,可框选、点选、窗口选,无论多少自动加中心线。
中心线的程序已经有了(燕秀工具箱) cabinsummer 发表于 2011-10-30 23:08 static/image/common/back.gif
大师神速啊
页:
[1]
2