明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1280|回复: 4

麻烦高手帮我解决一下问题!!

[复制链接]
发表于 2004-3-9 13:44:00 | 显示全部楼层 |阅读模式
(vl-load-com)
(defun c:pp()
(command "line" '(100 100) '(200 200)"")
(command "line" '(200 200)'(200 300)"")
(command "line" '(200 300)'(300 400)"")
(setq ll '("10" "20" "30"))
(setq n 0)
(setq ss (ssget "x"))

(setq len (sslength ss))
(while (< n len)
(setq s1 (ssname ss n))
(setq lll (nth n ll))
(setq n (1+ n))
(vlax-ldata-put (vlax-ename->vla-object s1) "yy"
'((1 . lll)))
)

(setq ttt (vl-symbol-value(cdr(assoc 1 (vlax-ldata-get
(vlax-ename->vla-object (ssname ss 0)) "yy")))))
) 其实我想得到的是“10”可是为什么得到的总是“30”呢???急需,高手多指点!!
发表于 2004-3-9 14:00:00 | 显示全部楼层
(vl-load-com)
(defun c:pp()
(command "line" '(100 100) '(200 200)"")
(command "line" '(200 200)'(200 300)"")
(command "line" '(200 300)'(300 400)"")
(setq ll '("10" "20" "30"))
(setq n 0)
(setq ss (ssget "x"))
(setq len (sslength ss))
(while (< n len)
(setq s1 (ssname ss n))
(setq lll (nth n ll))
(setq n (1+ n))
(vlax-ldata-put (vlax-ename->vla-object s1) "yy"
(list (cons 1 lll)))
)
(setq ttt (cdr(assoc 1 (vlax-ldata-get
(vlax-ename->vla-object (ssname ss 0)) "yy"))))
)
发表于 2004-3-9 14:06:00 | 显示全部楼层
因為在while 循環里面的n值大過3所以只有第一次循環時的實體是用到"10"的. 就是說把(setq lll (nth n ll))改為(setq lll (car         ll))便每次得到"10"了
 楼主| 发表于 2004-3-9 18:18:00 | 显示全部楼层
不是啊!!我并不是总是想得到10啊!!我本意是想随着直线的不同而得到不同的值!!即选择一个直线时得到10,选择另外一个时又可以得到20。。。
发表于 2004-3-9 19:06:00 | 显示全部楼层
2楼的程序有什么问题吗?好歹也给个说法。。。


用下面的提取看看:


(cdar (vlax-ldata-get (vlax-ename-&gt;vla-object (car (entsel))) "yy"))
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-10-1 21:42 , Processed in 0.169892 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表