求调试程序,提取之列表中的元素
本帖最后由 richine001 于 2013-4-4 12:30 编辑小弟编了个小程序,在矩形只能一个角点,然后根据其与角点的与制定角点的距离大小,进行排序,最后生成的坐标不提取
求大侠们给予帮忙!!!!
提取newlst子列表的每个子列表,并将子列表中的第二个子列表提取出来,求帮助
newlst
'((0.0 (-530436.0 -419526.0)) (800.0 (-531236.0 -419526.0)) (800.0 (-530436.0 -418726.0)) (1131.37 (-531236.0 -418726.0)))
(setq A (nth0 newlst))
(setq st1 (cadr A) )
以上语句为啥个不能实现??????、
(defun c:tt( )
(vl-load-com)
(setvar "osmode" 1)
(setq ENT (entsel "选择箍筋:"))
(setq mt1 (getpoint "输入特定点:"))
(setq enst (car ENT))
(setq d1 0.0d2 0.0 d3 0.0 d4 0.0 )
(vla-getboundingbox(vlax-ename->vla-object enst) 'minp 'maxp)
(setq tt1(vlax-safearray->list minp)
tt3(vlax-safearray->list maxp)
t1 (list (car tt1) (cadr tt1))
t2 (list (car tt1) (cadr tt3 ))
t3 (list (car tt3) (cadr tt3))
t4 (list (car tt3) (cadr tt1))
mt (list (car mt1) (cadr mt1))
)
(setqd1(distance t1 mt))
(setqd2(distance t2 mt))
(setqd3(distance t3 mt))
(setqd4(distance t4 mt))
(setq dt1 (list d1 t1))
(setq dt2 (list d2 t2))
(setq dt3 (list d3 t3))
(setq dt4 (list d4 t4))
(setq lst (list dt1 dt2 dt3 dt4))
(setq newlst (vl-sort lst
'(lambda (a b) (< (car a) (car b))))
lst (mapcar 'car ('car lst))
)
(setq aaa 0)
(setq A (nth 0 newlst))
)
http://bbs.mjtd.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 richine001的微博 求帮忙哈求帮忙哈求帮忙哈求帮忙哈求帮忙哈求帮忙哈 不知行不行。
(defun c:tt( )
(vl-load-com)
(setvar "osmode" 1)
(setq ENT (entsel "选择箍筋:"))
(setq mt1 (getpoint "输入特定点:"))
(setq enst (car ENT))
(setq d1 0.0d2 0.0 d3 0.0 d4 0.0 )
(vla-getboundingbox(vlax-ename->vla-object enst) 'minp 'maxp)
(setq tt1(vlax-safearray->list minp)
tt3(vlax-safearray->list maxp)
t1 (list (car tt1) (cadr tt1))
t2 (list (car tt1) (cadr tt3))
t3 (list (car tt3) (cadr tt3))
t4 (list (car tt3) (cadr tt1))
mt (list (car mt1) (cadr mt1))
)
(setq d1 (distance t1 mt));;计算各坐标点与制定点的距离
(setq d2 (distance t2 mt));;计算各坐标点与制定点的距离
(setq d3 (distance t3 mt));;计算各坐标点与制定点的距离
(setq d4 (distance t4 mt));;计算各坐标点与制定点的距离
(setq dt1 (cons d1 t1))
(setq dt2 (cons d2 t2))
(setq dt3 (cons d3 t3))
(setq dt4 (cons d4 t4))
;;;(setq dt1 (cons d1 (list (car tt1)(cadr tt1))))
;;;(setq dt2 (list d2 (car tt1)(cadr tt3)))
;;;(setq dt3 (list d3 (car tt3)(cadr tt3)))
;;;(setq dt4 (list d4 (car tt3)(cadr tt1)))
(setq lst (list dt1 dt2 dt3 dt4))
(setq lst (vl-sort lst '(lambda (a b) (< (car a) (car b))))
lst (mapcar 'cadr lst)
)
(setq A (car LST))
(setq st1 (list (car A) (cadr A)))
)
还是不行哈
页:
[1]