明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: highflybir

如何在纯CAD中,用lisp程序实现尺寸驱动?

  [复制链接]
发表于 2008-8-11 09:08:00 | 显示全部楼层
看看...
发表于 2008-11-4 08:44:00 | 显示全部楼层
搞个双边驱动比较好,对称的那种,这种单边的用途好像不大
发表于 2008-11-4 20:09:00 | 显示全部楼层

支持原创!!!

发表于 2008-11-5 11:19:00 | 显示全部楼层

等着吧

官方会提供的

发表于 2008-11-5 22:06:00 | 显示全部楼层
为什么我不能看源码啊。。。。
发表于 2008-11-16 18:57:00 | 显示全部楼层
ZZXXQQ
老师,你太伟大了,
发表于 2008-11-19 23:44:00 | 显示全部楼层

恩,伤脑筋哇

发表于 2008-12-15 08:19:00 | 显示全部楼层
  1. ;;;编写: BDYCAD
  2. ;;;时间: 2005-03-18
  3. ;;;开发用时  26分钟
  4. ;;;功能: 尺寸驱动
  5. (defun c:tt(/ BLB EP ESPL N-EP N-SP NEW-T SD SD-DXF SEA SEB SP SS1 SS2 SS3)
  6.   (setq SD (entsel "\n选择驱动尺寸:"))
  7.   (if SD
  8.     (PROGN
  9.       (SETQ SD-DXF (ENTGET (CAR SD)))
  10.       (WHILE (NOT (wcmatch (CDR (ASSOC 0 SD-DXF)) "*DIM*"))
  11. (setq SD (entsel "\n选择驱动尺寸:"))
  12. (SETQ SD-DXF (ENTGET (CAR SD))))
  13.       (SETQ SP (CDR (ASSOC 13 SD-DXF))
  14.      EP (CDR (ASSOC 14 SD-DXF))
  15.      ESPL (DISTANCE SP EP)
  16.      SEA (ANGLE SP EP)
  17.      SEB (ANGLE EP SP)
  18.      NEW-T (getdist "\n新的长度:"))
  19.       (while (eq nil NEW-T)
  20. (setq  NEW-T (getdist "\n新的长度:")))
  21.       (if NEW-T
  22. (progn
  23.       (setq BLB (* 0.5 (abs (-  NEW-T ESPL))))
  24.       (if (> ESPL NEW-T )
  25. (setq N-SP (POLAR SP SEA BLB)
  26.        N-EP (POLAR EP (+ PI SEA) BLB))
  27. (setq N-SP (POLAR SP SEB BLB)
  28.        N-EP (POLAR EP (+ PI SEB) BLB))
  29. )
  30.       (setvar "osmode" (logior (getvar "osmode") 16384))
  31.       (setvar "cmdecho" 0)
  32.       (vl-cmdf "_.undo" "_group")
  33.       (SETQ SS1 (SSGET "C" (POLAR SP (+ PI (* 0.25 PI)) 0.4)(POLAR SP (* 0.25 PI) 0.4))
  34.      SS2 (SSGET "C" (POLAR EP (+ PI (* 0.25 PI)) 0.4)(POLAR EP (* 0.25 PI) 0.4))
  35.      )
  36.       (IF SS1
  37. (COMMAND "STRETCH" (SSGET "C" (POLAR SP (+ PI (* 0.25 PI)) 0.4)(POLAR SP (* 0.25 PI) 0.4))
  38.    ""SP N-SP))
  39.       (IF SS2
  40. (COMMAND "STRETCH" (SSGET "C" (POLAR EP (+ PI (* 0.25 PI)) 0.4)(POLAR EP (* 0.25 PI) 0.4))
  41.    ""EP N-EP))
  42.       (vl-cmdf "_.undo" "_end")
  43.       (setvar "osmode" (logand (getvar "osmode") 49151))
  44.       (PRINC"\n编写:BDYCAD\n尺寸驱动程序运行完毕, 欢迎使用.谢谢!")))
  45.       )
  46.     )
  47.   (princ)
  48.   )
网上一高手搞的,不是本人写的,我试着还好!
发表于 2008-12-24 11:02:00 | 显示全部楼层
这是一个研究的方向
发表于 2009-2-16 23:11:00 | 显示全部楼层
都这么厉害的,我也想学学
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-16 10:36 , Processed in 0.164203 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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