fan_zh 发表于 2014-5-28 09:12:17

求个lisp程序,或给点思路

本帖最后由 fan_zh 于 2014-5-28 11:55 编辑

左侧图纸转换成右侧工艺图,求个程序或给点思路

ysq101 发表于 2014-5-28 11:48:30

没图没真像

fan_zh 发表于 2014-5-28 11:56:22

上图了,字数不够

JP6325 发表于 2014-5-28 13:11:43

看似板件展開的圖面

llsheng_73 发表于 2014-5-28 14:49:25

本帖最后由 llsheng_73 于 2014-5-28 14:51 编辑

用原有的4个角点根据角45度和那个偏移量49计算出另外8个角点后绘制多线段,至于分段标注那反正就一个个的算出来了把它注记到相应位置

edata 发表于 2014-5-28 23:06:24


ZZXXQQ 发表于 2014-5-29 08:56:56

体力活
;矩形变换 明经 ZZXXQQ 2014.5.29
(defun c:tt ()
(setvar "CMDECHO" 0)
(while (setq pt (getpoint "\n矩形内部一点: "))
(setq en (entlast))
(command "_.BOUNDARY" pt "")
(if (not (eq (entlast) en)) (progn
(setq en (entlast))
(vla-getboundingbox(vlax-ename->vla-object en) 'p1 'p2)
(setq p1 (vlax-safearray->list p1) p2 (vlax-safearray->list p2))
(setq x (- (car p2) (car p1)) y (- (cadr p2) (cadr p1)))
(setq dy (/ (- y 49 49 80) 4.0))
(setq p3 (mapcar '- p1 '(46 46)))
(setq p4 (polar p3 0 (+ x 92)))
(setq p5 (mapcar '+ p4 '(-46 46)))
(setq p6 (mapcar '+ p5 '(49 49)))
(setq p7 (mapcar '+ p6 '(0 50)))
(setq p8 (mapcar '+ p7 (list 0 dy)))
(setq p9 (mapcar '+ p8 (list 0 dy)))
(setq p10 (mapcar '+ p9 (list 0 dy)))
(setq p11 (mapcar '+ p10 (list 0 dy)))
(setq p12 (mapcar '+ p2 '(49 -49)))
(setq p13 (mapcar '+ p2 '(46 46)))
(setq p14 (polar p13 pi (+ x 92)))
(setq p15 (polar p2 pi x))
(setq p16 (mapcar '- p15 '(49 49)))
(setq p17 (polar p11 pi (+ x 98)))
(setq p18 (polar p10 pi (+ x 98)))
(setq p19 (polar p9 pi (+ x 98)))
(setq p20 (polar p8 pi (+ x 98)))
(setq p21 (polar p7 pi (+ x 98)))
(setq p22 (polar p6 pi (+ x 98)))
(command "_.PLINE" p1 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p2
                                    p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 "c")
(entdel en)
(setq en (entlast))
(command "_.EXTEND" en "" (polar p6 pi 49) (polar p12 pi 49)
(polar p16 0 49) (polar p22 0 49) "")
(command "_.CHPROP" (ssget "C" p1 p2 '((0 . "LINE"))) "" "LT" "HIDDEN" "C" 8 "")
(command "_.DIMLINEAR" (polar p2 0 46) p13 (polar p13 0 50))
(command "_.DIMLINEAR" (polar p5 0 46) p4 (polar p4 0 50))
(command "_.DIMLINEAR" P22 P21 (polar p21 pi 50))
(command "_.DIMCONTINUE" P20 P19 P18 P17 P16 "" "")
))
)
(setvar "CMDECHO" 1)
(princ)
)

fan_zh 发表于 2014-5-29 16:25:27

感谢版主,有点思路了

fan_zh 发表于 2014-5-29 16:26:25

JP6325 发表于 2014-5-28 13:11 static/image/common/back.gif
看似板件展開的圖面

确实是,同行吗?

ysq101 发表于 2014-5-29 18:22:50

edata 发表于 2014-5-28 23:06 static/image/common/back.gif


要不要这么风骚啊??
连标注出生成出来了
而且还批量
页: [1] 2
查看完整版本: 求个lisp程序,或给点思路