找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 772|回复: 4

[求助] [求助]:标注时的捕捉问题

[复制链接]
发表于 2005-8-22 15:04:29 | 显示全部楼层 |阅读模式

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

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

×
标注时我们用捕捉点进行标注, 有时使用CAD自带的捕捉点工具, 可以不用关闭对象捕捉就会捕捉到需要的点, 但对于自己写的捕捉程序, 点是可以选对,但在标注时如果对象捕捉的端点捕捉打开的话就会捕捉到尺寸线的端点, 相差一个系统变量dimexo的值.

如何才能像CAD自带的捕捉工具一样捕捉到实体上需要的点呢?
谢谢先!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-8-22 15:59:29 | 显示全部楼层
(command "osmode" "*******")   其中*******  是捕捉的代码  自己定义
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-22 16:05:22 | 显示全部楼层
不是我的本意!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

发表于 2005-8-22 23:03:33 | 显示全部楼层

Re: [求助]:标注时的捕捉问题

最初由 网络水手 发布
[B]标注时我们用捕捉点进行标注, 有时使用CAD自带的捕捉点工具, 可以不用关闭对象捕捉就会捕捉到需要的点, 但对于自己写的捕捉程序, 点是可以选对,但在标注时如果对象捕捉的端点捕捉打开的话就会捕捉到尺寸线的端点, 相... [/B]

这是肯定的,当你的系统捕捉在打开情况下,在LISP程序中,使用了Command命令,若该命令的需要点参数,而你给的点参数附近(范围由变量控制)刚好有系统捕捉中设置的捕捉要素(如端点、交点等),则系统将根据捕捉原则对点参数进行捕捉改正后再传给command命令。
这是正常的,产生这个的原因是在LISP中使用command来运行CAD命令时,等同于在标准命令行状态下键入命令运行一样。所以它也遵循命令行状态下的捕捉原则。
解决方法一般有二种:
1、不用command命令(呵呵,,,,,,,,)
2、在用command命令前保存捕捉变量值,并设置其为0(即关掉捕捉),在使用command命令后立即恢复变量值。
我的程序中的一个写字函数

  1.    (defun zbh_draw (slist / slen loop_i)
  2.      (setq slen         (length slist))
  3.      ;;逐一从表sszwd中提取坐标进行标注;
  4.      ;关闭捕捉方式
  5.      (setq osmode_old (getvar "osmode"))
  6.      (setvar "osmode" 0)
  7.      (setq loop_i 0)
  8.      (while (<= loop_i (1- slen))
  9.       
  10.        (setq pt (nth loop_i slist))
  11.        (setq
  12.          pt1
  13.           (list        (+ (car pt) NB_Bh_textoffset)
  14.                 (+ (cadr pt) NB_Bh_textoffset)
  15.           )
  16.        ) ;_结束setq

  17.        ;;将编号加上前后缀
  18.        (setq
  19.          zbh_ok        (strcat NB_Bh_texthome (itoa bh_began) NB_Bh_textend)
  20.        )

  21.        (command "_.text" "s" "ZBH" pt1 NB_Bh_textsize "0d" zbh_ok)
  22.        ;;(setq bho (entlast))
  23.        ;;(command "move" bho "" pt pt1)
  24.        (setq bh_began (1+ bh_began))
  25.               (setq loop_i (1+ loop_i))
  26.      ) ;_结束while
  27.  ;;恢复捕捉方式
  28.      (setvar "osmode" osmode_old)
  29.    ) ;_ 结束defun
  30.    ;;-------------------
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 11306个

财富等级: 富甲天下

发表于 2005-8-23 08:30:38 | 显示全部楼层
接楼上:
3、在命令中点坐标前加上强制的_tan、end、mid、none等。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-28 11:34 , Processed in 0.264498 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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