乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 97|回复: 4

[编程交流] 通过拾取x值绘制三维样条线

[复制链接]

63

主题

242

帖子

181

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
319
发表于 2022-7-6 06:30:06 | 显示全部楼层 |阅读模式
你好
有没有关于绘制三维样线的帮助,可以让我从drwaing中选择坐标作为文本,而不是在命令行中用点名称编写坐标
我将点坐标表作为单个文本n x y z
序列拾取x拾取y拾取z输入名称绘制的第一个点,然后是第二个点等。。。。
非常感谢。
回复

使用道具 举报

63

主题

242

帖子

181

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
319
发表于 2022-7-6 06:49:30 | 显示全部楼层
好的,这是我的尝试,但无法添加点名称,非常感谢您的帮助
 
  1. (defun c:pltx(/ )
  2. ;;;;;;;;;;;;;;;;;;;;
  3. (command "._3dpoly")
  4. (while (eq 1 (logand 1 (getvar "cmdactive")))
  5.   (if a
  6.     (progn
  7.       (princ"pick x value")
  8. (setq x (ssget))
  9. (setq oldobj1 (entget (ssname x 0)))      
  10. (setq txtstr1 (assoc 1 oldobj1))
  11. (setq xv (atof(cdr txtstr1)))
  12.   (princ xv)
  13. (princ"pick y value")     
  14. (setq y (ssget))
  15. (setq oldobj2 (entget (ssname y 0)))      
  16. (setq txtstr2 (assoc 1 oldobj2))
  17. (setq yv (atof(cdr txtstr2)))
  18.   (princ yv)
  19. (princ"pick z value")     
  20. (setq z (ssget))
  21. (setq oldobj3 (entget (ssname z 0)))      
  22. (setq txtstr3 (assoc 1 oldobj3))
  23. (setq zv (atof(cdr txtstr3)))
  24.   (princ zv)
  25. (setq a(list xv yv zv))
  26.       
  27. )
  28. ;;;;;;;;;;;;;;;;;;;;;;;
  29.     (progn
  30.   (princ"pick start x value")     
  31. (setq x (ssget))
  32. (setq oldobj1 (entget (ssname x 0)))      
  33. (setq txtstr1 (assoc 1 oldobj1))
  34. (setq xv (atof(cdr txtstr1)))
  35.   (princ xv)
  36.   (princ"pick start y value")
  37. (setq y (ssget))
  38. (setq oldobj2 (entget (ssname y 0)))      
  39. (setq txtstr2 (assoc 1 oldobj2))
  40. (setq yv (atof(cdr txtstr2)))
  41.   (princ yv)
  42. (princ"pick start z value")
  43. (setq z (ssget))
  44. (setq oldobj3 (entget (ssname z 0)))      
  45. (setq txtstr3 (assoc 1 oldobj3))
  46. (setq zv (atof(cdr txtstr3)))
  47.   (princ zv)
  48. (setq a(list xv yv zv))   
  49. )
  50.     )
  51.     ;;;;;;;;;;;;;;;;;;;;;
  52.   (if a
  53. (command a)
  54.   (command)             
  55. )
  56.     )
  57. (princ)
  58. )
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:01:16 | 显示全部楼层
以下是一些帮助您入门的代码:
  1. (defun c:pltx ( / pt )
  2.    (if (setq pt (gettextpoint))
  3.        (progn
  4.            (command "_.3dpoly" "_non" pt)
  5.            (while (setq pt (gettextpoint))
  6.                (command "_non" pt)
  7.            )
  8.            (command "")
  9.        )
  10.    )
  11.    (princ)
  12. )
  13. (defun gettextpoint ( / x y z )
  14.    (if
  15.        (and
  16.            (setq x (getnumericaltext "\nSelect X-Value Text <Exit>: "))
  17.            (setq y (getnumericaltext "\nSelect Y-Value Text <Exit>: "))
  18.            (setq z (getnumericaltext "\nSelect Z-Value Text <Exit>: "))
  19.        )
  20.        (list x y z)
  21.    )
  22. )
  23. (defun getnumericaltext ( msg / ent enx num )
  24.    (while
  25.        (progn (setvar 'errno 0) (setq ent (car (nentsel msg)))
  26.            (cond
  27.                (   (= 7 (getvar 'errno))
  28.                    (princ "\nMissed, try again.")
  29.                )
  30.                (   (= 'ename (type ent))
  31.                    (setq enx (entget ent))
  32.                    (cond
  33.                        (   (not (wcmatch (cdr (assoc 0 enx)) "TEXT,MTEXT,ATTRIB"))
  34.                            (princ "\nPlease select Text, MText or Attribute.")
  35.                        )
  36.                        (   (not (setq num (distof (cdr (assoc 1 enx)))))
  37.                            (princ "\nSelected text is not numerical.")
  38.                        )
  39.                    )
  40.                )
  41.            )
  42.        )
  43.    )
  44.    num
  45. )
回复

使用道具 举报

63

主题

242

帖子

181

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
319
发表于 2022-7-6 07:27:50 | 显示全部楼层
非常感谢李先生的回复,请添加需要点名称的用户并标记此点
回复

使用道具 举报

63

主题

242

帖子

181

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
319
发表于 2022-7-6 07:44:18 | 显示全部楼层
李,你在哪儿
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-10 16:07 , Processed in 0.718736 second(s), 62 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表