求救:请CAD的LISP高手帮忙 50

;平面图转换成45度透视图;增加角度转换.块或者字体.(defunc:gps_lrr(/aaangang_pt1_2ang_pt2ang_pt2_2ang_tmpang5... ;平面图转换成45度透视图
;增加角度转换.块或者字体.
(defun c:gps_lrr ( / aa ang ang_pt1_2 ang_pt2 ang_pt2_2 ang_tmp ang50 dclid dclname do e e_lst e0 ent ent_lst ent_type filen n ppt ppt2 ppt3 ppt4 ppt5 pt pt_10 pt_11 pt2 pt3 pt4 pt5 py rad ss sslst sslst2 stream tempname y) ;!!!轴测图转换工具
(defun gps->pt-trans (pt y)
(if pt
(trans (polar (list (car (trans pt 0 1)) y)
(* 0.25 PI)
(- (cadr (trans pt 0 1)) y) )
1 0 ))
)
(defun gps->ang-trans (ang y / ang_pt1_2 ang_pt2 ang_pt2_2 ang_tmp)
(setq ang_pt2 (polar '(0 0) ang 10))
(setq ang_pt1_2 (gps->pt-trans '(0 0) y)
ang_pt2_2 (gps->pt-trans ang_pt2 y)
)
(setq ang_tmp (angle ang_pt1_2 ang_pt2_2) )
)

(cond ((= $blk "1") (princ "\n请选择要转换的物体(遇块炸开):" ))
((= $blk "0") (princ "\n请选择要转换的物体(遇块不炸):"))
(T (setq $blk "0")(princ "\n请选择要转换的物体(遇块不炸):"))
)
(setq sslst (gps->ss-2lst (ssget)) sslst2 sslst)
(if sslst
(progn
(while (/= (type aa) 'LIST)
(initget 2 "S")
(setq aa (getpoint "\n设置(S)/选择基准点:"))
(cond ((= (type aa) 'STR)
(setq dclname
(cond
((setq tempname (vl-filename-mktemp "SLB-VIEW.tmp") filen (open tempname "w"))
(foreach stream
'(
"gpslrr:dialog {\n"
" label = \"参数设置\" ;\n"
" :boxed_column {\n"
" vertical_margin = none ;\n"
" :toggle {\n"
" key = \"blk\" ;\n"
" label = \"炸开块、标注\" ;\n"
" }\n"
" }\n"
;" :boxed_column {\n"
;" vertical_margin = none ;\n"
; " :edit_box {\n"
; " key = \"nspl\" ;\n"
; " label = \"拟合SPLINE线段数量\" ;\n"
; " value = \"100\";\n"
; " }\n"
; " }\n"
" ok_cancel;\n"
"}\n"
)
(princ stream filen)
)
(close filen)
tempname
)))
展开
 我来答
宅男一生
2010-10-08 · TA获得超过557个赞
知道小有建树答主
回答量:365
采纳率:0%
帮助的人:123万
展开全部
兄弟,问题搞复杂了。

AutoCAD本身就是三维辅助设计软件,直接通过模型空间建模,图纸空间做轴测图就好了。功能比用LSP强大多了。

你在走前的弯路了……

中国国内很多的AutoCAD教学,有问题的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式