明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1960|回复: 3

[提问] 新手 多义线顶点坐标提取 看不懂啊 不明白 求解释

[复制链接]
发表于 2013-5-18 21:51:15 | 显示全部楼层 |阅读模式
  1. (defun c:lsp_48()
  2. (setvar "cmdecho" 0)
  3. (setq ffn (getfiled "选取文件" "" "doc" 1))
  4. (setq ff (open ffn "w"))
  5. (close ff)
  6. (princ "\n选取PLINE多义线...")
  7. (setq ss (ssget))
  8. (setq i 0)
  9. (setvar "pdmode" 33)
  10. (repeat (sslength ss)
  11. (setq ssn (ssname ss i))
  12. (setq endata (entget ssn))
  13. (setq n 0)
  14. (repeat (length endata)
  15. (setq pp (nth n endata))
  16. (setq key (car pp))
  17. (if (= key 10);;;;<FONT color=red>;他这里为什么要从属性列表中去一个个查找啊,为什么不直接assoc,
  18. </FONT>(progn           ;;;<FONT color=red>;</FONT><FONT color=#ff0000>再者属性列表中有(10. x y z)这一个表,其他的顶点怎么找出来的呢?书上是说顶点坐标,多</FONT>(setq x (cadr pp));;;;;;;;;;;<FONT color=#ff0000>重项目,可我一句句加载,还是控制台中没有显示其他顶点啊???</FONT>
  19. (setq y (caddr pp))
  20. (command "point" (list x y))
  21. (setq ff (open ffn "a"))
  22. (princ x ff)
  23. (princ " " ff)
  24. (princ y ff)
  25. (princ "\n" ff)
  26. (close ff)
  27. )
  28. )               
  29. (setq n (1+ n))
  30. )
  31. (setq ff (open ffn "a"))
  32. (princ "End\n" ff)
  33. (close ff)
  34. (setq i (1+ i))
  35. )
  36. (princ (strcat "\n文件写至=> " ffn))
  37. (prin1)
  38. )     
问题见代码红色字体 求指教      例题来自《autolisp&dcl》11-47
发表于 2013-5-18 22:31:34 | 显示全部楼层
assoc只能取到表中的一个元素!所以要循环处理取出顶点坐标!即取出组码为10的所有点!
发表于 2015-6-15 17:01:37 | 显示全部楼层
是不是能够提取UCS坐标呢?
发表于 2015-6-15 17:55:03 | 显示全部楼层
  1. (mapcar'cdr(vl-remove-if'(lambda(x)(/=(car x)10))endata))
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 09:33 , Processed in 0.178645 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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