CAD自动生成45°视图

广告也精彩

画管路图时,常画俯视图和相应的45°角视图。其实45°角视图中包含的信息只比俯视图中多了每根管路的水平高度。下面这个用LISP编写的程序可以自动将俯视图转化为同一水平高度的45°角视图,使用者只需在转化后的图上将每组管路在竖直方向上移动相应的高度,一幅45°角视图就轻松完成了。文章源自设计学徒自学网-http://www.sx1c.com/2341.html

由于每根管路用一直线表示,所以只需改变直线的起点和终点坐标为相应的45°角视图中的坐标。程序中变量p0记录45°角视图的坐标原点,由用户输入。p1记录直线的起点坐标,p2记录直线的终点坐标。文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(defun c:V45( / cmdmode sset ssl ent p0,p1,p2,x1,x2,y0,y1,y2,z1,z2)文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(setq cmdmode (getvar "cmdecho"))文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(setvar "cmdecho" 0)文章源自设计学徒自学网-http://www.sx1c.com/2341.html

;select lines by user文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(prompt "nSelect lines:")文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(setq sset (ssget))文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(if (not(null sset))文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(progn文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(setq ssl (sslength sset))文章源自设计学徒自学网-http://www.sx1c.com/2341.html

;input base point by user文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(setq p0 (getpoint "nThe base point: "))文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(setq y0 (cadr p0))文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(while (> ssl 0)文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(setq ent(entget (ssname sset (setq ssl (1- ssl)))))文章源自设计学徒自学网-http://www.sx1c.com/2341.html

;filter the lines文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(if (= (cdr (assoc 0 ent)) "LINE")文章源自设计学徒自学网-http://www.sx1c.com/2341.html

;change the start point and end point of the line文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(progn文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(setq x1 (cadr(assoc 10 ent)))文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(setq y1 (caddr(assoc 10 ent)))文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(setq z1 (cadddr(assoc 10 ent)))文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(setq x2 (cadr(assoc 11 ent)))文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(setq y2 (caddr(assoc 11 ent)))文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(setq z2 (cadddr(assoc 11 ent)))文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(setq p1 (list (+ x1 (/ (* (sqrt 2) (- y1 y0)) 4)) (+ y0 (/ (* (sqrt 2) (- y1 y0))4)) z1))文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(setq p2 (list (+ x2 (/ (* (sqrt 2) (- y2 y0)) 4)) (+ y0 (/ (* (sqrt 2) (- y2 y0))4)) z2))文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(setq ent (entmod (subst (cons 10 p1)文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(assoc 10 ent) ent)))文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(entmod (subst (cons 11 p2)文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(assoc 11 ent) ent))文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(redraw (cdr(assoc -1 ent)) 1))文章源自设计学徒自学网-http://www.sx1c.com/2341.html

文章源自设计学徒自学网-http://www.sx1c.com/2341.html

文章源自设计学徒自学网-http://www.sx1c.com/2341.html

文章源自设计学徒自学网-http://www.sx1c.com/2341.html

文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(setvar "CMDECHO" cmdmode)文章源自设计学徒自学网-http://www.sx1c.com/2341.html

文章源自设计学徒自学网-http://www.sx1c.com/2341.html

(princ "ntc:V45 loaded. Start command with V45.")文章源自设计学徒自学网-http://www.sx1c.com/2341.html

继续阅读
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 惠生活福利社
  • 微信扫一扫
  • weinxin
设计学徒自学网
  • 本文由 发表于 2022年3月15日16:08:30
  • 转载请务必保留本文链接:http://www.sx1c.com/2341.html
    本站展示的所有图文软件均来自于互联网,仅用于软件学习研究分享传递,请勿商用,本站如有侵权请联系客服删除。
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: