明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3160|回复: 15

[求助]求个和标注有关的程序%%%%%在XD求了很久没人解决

  [复制链接]
发表于 2005-4-10 14:25 | 显示全部楼层 |阅读模式
cad标注改了数字长度不变,我想要个改了数字长度也变的程序
 楼主| 发表于 2005-4-10 14:27 | 显示全部楼层
目的是为了这个:::在工作中经常需要测量两个物体的距离,然后修改他门的距离,
我想是否能线性标注点一个物体上的一点(移动物休),然后点到目标物体,然后修改标注数字
就能把(移动物休)移动适和这个标注数字,(这个数字就是它们的间距)
发表于 2005-4-11 23:27 | 显示全部楼层
给个示意图看看。
 楼主| 发表于 2005-4-13 08:56 | 显示全部楼层
如此图
 楼主| 发表于 2005-4-13 08:57 | 显示全部楼层
这个

本帖子中包含更多资源

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

x
发表于 2005-4-14 00:02 | 显示全部楼层
这不就是尺寸驱动吗。不太好解决。楼主可以用stretch命令进行处理。注意要用交叉虚框选取物体及尺寸的一个界限,拉移的距离是(在图中是1194-1000)。
 楼主| 发表于 2005-4-14 08:47 | 显示全部楼层
原来如此,,麻烦你了
发表于 2005-4-15 00:42 | 显示全部楼层
不过您可以试一下下面的程序,看能否满足您的要求。
  1. (DEFUN C:DIMCHANGE ()
  2.   (SETVAR "CMDECHO" 0)
  3.   (SETQ OLDOS (GETVAR "OSMODE"))
  4.   (SETQ SB (ENTSEL "\nSelect Block(s) 选择图块:"))
  5.   (SETQ SB-DXF (ENTGET (CAR SB)))
  6.   (WHILE (NOT (WCMATCH (CDR (ASSOC 0 SB-DXF)) "*INS*"))
  7.    (SETQ SB (ENTSEL "\nSelect Block(s) 选择图块:"))
  8.    (SETQ SB-DXF (ENTGET (CAR SB)))
  9.   )
  10.   (SETQ SD (ENTSEL "\nSelect a Dimtion 选择驱动尺寸:"))
  11.   (SETQ SD-DXF (ENTGET (CAR SD)))
  12.   (WHILE (NOT (WCMATCH (CDR (ASSOC 0 SD-DXF)) "*DIM*"))
  13.    (SETQ SD (ENTSEL "\nSelect a Dimtion 选择驱动尺寸:"))
  14.    (SETQ SD-DXF (ENTGET (CAR SD)))
  15.   )
  16.   (IF (AND SB SD) (PROGN
  17.    (SETQ SP (CDR (ASSOC 13 SD-DXF))
  18.                EP (CDR (ASSOC 14 SD-DXF))
  19.                ANG (CDR (ASSOC 50 SD-DXF)))
  20.    (IF (OR (EQUAL ANG 0.0 0.00001) (EQUAL ANG PI 0.00001))
  21.      (SETQ L (ABS (- (CAR SP) (CAR EP))))
  22.      (SETQ L (ABS (- (CADR SP) (CADR EP))))
  23.    )
  24.    (PRINC "\nEnter New Distance 新的长度<") (PRINC L)
  25.    (SETQ NEWL (GETDIST ">:"))
  26.    (WHILE (EQ NEWL nil)
  27.    (PRINC "\nEnter New Distance 新的长度<") (PRINC L)
  28.      (SETQ NEWL (GETDIST ">:"))
  29.    )
  30.    (SETQ BSB (- NEWL L))
  31.    (SETQ SS1 (SSGET "C" SP SP))
  32.    (SETQ SS2 (SSGET "C" EP EP))
  33.    (IF (SSDEL (CAR SB) SS1)
  34.      (SETQ SSP SP)
  35.      (SETQ SSP EP ANG (+ ANG PI) BSB (* BSB -1))
  36.    )
  37.    (SETQ N-SP (POLAR SSP ANG BSB))
  38.    (SETVAR "OSMODE" 0)
  39.    (COMMAND "_.UNDO" "_GROUP")
  40.    (COMMAND "MOVE" (CAR SB) "" SSP N-SP "STRETCH" "C" SSP SSP "" SSP N-SP)
  41.    (COMMAND "_.UNDO" "_END")
  42.    (SETVAR "OSMODE" OLDOS)
  43.   ))
  44.   (SETVAR "CMDECHO" 1)
  45.   (princ)
  46. )
 楼主| 发表于 2005-4-15 09:47 | 显示全部楼层
大哥,我用了一下有个问题,当我输入新长度的时候不对(本来是423的,我输入400,那个数变成了,448)不知道怎么回事,选择物体能不多点,不要只能选择块,在这先谢谢你了
发表于 2005-4-15 22:57 | 显示全部楼层
更改的程序如下:
  1. (DEFUN C:DIMCHANGE ()
  2.   (SETVAR "CMDECHO" 0)
  3.   (SETQ OLDOS (GETVAR "OSMODE"))
  4.   (IF (SETQ SB (SSGET)) (PROGN
  5.    (SETQ SD (ENTSEL "\nSelect a Dimtion 选择驱动尺寸:"))
  6.    (SETQ SD-DXF (ENTGET (CAR SD)))
  7.    (WHILE (NOT (WCMATCH (CDR (ASSOC 0 SD-DXF)) "*DIM*"))
  8.      (SETQ SD (ENTSEL "\nSelect a Dimtion 选择驱动尺寸:"))
  9.      (SETQ SD-DXF (ENTGET (CAR SD)))
  10.    )
  11.    (SETQ SP (CDR (ASSOC 13 SD-DXF))
  12.                EP (CDR (ASSOC 14 SD-DXF))
  13.                ANG (CDR (ASSOC 50 SD-DXF)))
  14.    (IF (OR (EQUAL ANG 0.0 0.00001) (EQUAL ANG PI 0.00001))
  15.      (SETQ L (ABS (- (CAR SP) (CAR EP))))
  16.      (SETQ L (ABS (- (CADR SP) (CADR EP))))
  17.    )
  18.    (PRINC "\nEnter New Distance 新的长度<") (PRINC L)
  19.    (SETQ NEWL (GETDIST ">:")
  20.                NEWL (IF NEWL NEWL L))
  21.    (SETQ BSB (- NEWL L))
  22.    (SETQ SS1 (SSGET "C" SP SP))
  23.    (SETQ SL (SSLENGTH SB) I 0 J -1)
  24.    (REPEAT SL
  25.      (IF (SSDEL (SSNAME SB I) SS1) (SETQ J I))
  26.      (SETQ I (1+ I))
  27.    )
  28.    (IF (>= J 0)
  29.      (SETQ SSP SP)
  30.      (SETQ SSP EP ANG (+ ANG PI) BSB (* BSB -1))
  31.    )
  32.    (SETQ N-SP (POLAR SSP ANG BSB))
  33.    (SETVAR "OSMODE" 0)
  34.    (COMMAND "_.UNDO" "_GROUP")
  35.    (COMMAND "MOVE" SB "" SSP N-SP "STRETCH" "C" SSP SSP "" SSP N-SP)
  36.    (COMMAND "_.UNDO" "_END")
  37.    (SETVAR "OSMODE" OLDOS)
  38.   ))
  39.   (SETVAR "CMDECHO" 1)
  40.   (princ)
  41. )
另外:为更好的调试程序,请发一张dwg图上来,或发到我的邮箱中。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-4 09:54 , Processed in 0.183505 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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