找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 564|回复: 2

[求助] [求助]:给个思路,如何实现实体沿Spline曲线“动态”移动?

[复制链接]
发表于 2004-12-28 13:30:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
前几日下载lcsfm楼主的机械标注工具程序,试用后发现其在程序中生成的实体如粗糙度(无名块),在未确定标注点前可沿实体如Spline曲线“动态”移动,在移动过程中随曲线变化可随时变换粗糙度方向,这一功能如何在Lisp程序中实现,请大家给个思路......
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-12-29 07:51:07 | 显示全部楼层

  1. ;;BY LUCAS(龍龍仔)
  2. ;;只把沿曲線"動態"移動寫出,希望你能把它完整寫出
  3. ;;需配合"123"圖塊(附件)
  4. (defun C:BB (/ ANG BOOLEAN CODE CURVE-OBJ ENT MOTION PT PT1 PT2)
  5.   (vl-load-com)
  6.   (setq        CURVE-OBJ (vlax-ename->vla-object
  7.                     (car (setq ENT (entsel "\nSelect Curve: ")))
  8.                   )
  9.   )
  10.   (setq        ANG (angle '(0 0 0)
  11.                    (vlax-curve-getfirstderiv
  12.                      CURVE-OBJ
  13.                      (vlax-curve-getparamatpoint
  14.                        CURVE-OBJ
  15.                        (setq PT2 (osnap (cadr ENT) "NEA"))
  16.                      )
  17.                    )
  18.             )
  19.   )
  20.   (command "_.INSERT" "123" PT2 "10" "" (/ (* ANG 180) pi))
  21.   (setq BOOLEAN t)
  22.   (setq ENT (entget (entlast)))
  23.   (while BOOLEAN
  24.     (setq MOTION (grread t 15 0))
  25.     (setq CODE (car MOTION))
  26.     (cond
  27.       ((= CODE 5)                        ;滑鼠遊移
  28.        (setq PT (cadr MOTION))
  29.        (if (not (equal PT PT2))
  30.          (progn
  31.            (setq PT1 (vlax-curve-getclosestpointto CURVE-OBJ PT))
  32.            (setq ENT (subst (cons 10 PT1) (assoc 10 ENT) ENT))
  33.            (setq ANG (+ (* 1.5 pi) (angle PT1 PT)))
  34.            (setq ENT (subst (cons 50 ANG) (assoc 50 ENT) ENT))
  35.            (setq ENT (entmod ENT)
  36.                  PT2 PT
  37.            )
  38.          )
  39.        )
  40.       )
  41.       ((= CODE 3)                        ;滑鼠左鍵按下
  42.        (setq BOOLEAN NIL)
  43.       )
  44.     )
  45.   )
  46.   (princ)
  47. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-12-29 12:32:52 | 显示全部楼层
谢谢二楼楼主,程序先收下,待研究后再......
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-27 19:18 , Processed in 0.161105 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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