明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4696|回复: 12

[函数] polar 捕捉的问题:

  [复制链接]
发表于 2010-12-27 22:44:24 | 显示全部楼层 |阅读模式
本帖最后由 mandala 于 2010-12-27 22:45 编辑

一段简单的lsp:



  1. (defun c:bbb()
  2. (setq p1(getpoint"First:"))(command"circle"p1"0.5")
  3. (while(setq p2(getpoint p1" Next:"))
  4.     (setq a (polar p1 (angle p1 p2) 0.5))
  5.     (setq b (polar p2 (angle p2 p1) 0.5))
  6.     (command"line"a b"")(command"circle"p2"0.5")
  7.     (setq p1 p2)
  8. )
  9. )

是用来画连线的电杆的,要求是圆圈中心空白,如下图。在关闭自动捕捉情况下运行正常,但打开自动捕捉就出问题,线都连到圆心去了。是不是在捕捉开启的情况下polar就靠不住了?我又不想关闭捕捉,如何解决呢?

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2010-12-27 22:53:30 | 显示全部楼层
你可以求教下老迈,他的程序把捕捉打开都能和CAD的一样,不过这种程序非常复杂
发表于 2010-12-27 22:53:54 | 显示全部楼层
polar就靠不住了?
Polar ok 啦!
是在 Command 下受 自动捕捉 的影响
发表于 2010-12-27 23:04:40 | 显示全部楼层
不想关闭捕捉,就别用command啦!用函数来制造物体!
发表于 2010-12-28 11:37:17 | 显示全部楼层
  1. (defun c:bbb()
  2.   (setq sa (getvar "osmode"))
  3.   (setq p1(getpoint"First:"))
  4.   (setvar "osmode" 0 )
  5.   (command"circle"p1"0.5")
  6.   (setvar "osmode" sa )
  7.   (while(setq p2(getpoint p1" Next:"))
  8.     (setq a (polar p1 (angle p1 p2) 0.5))
  9.     (setq b (polar p2 (angle p2 p1) 0.5))
  10.     (setvar "osmode" 0 )
  11.     (command"line"a b"")
  12.     (command"circle"p2"0.5")
  13.     (setvar "osmode" sa )
  14.     (setq p1 p2)
  15.   )
  16. )
发表于 2010-12-28 11:37:42 | 显示全部楼层
临时关闭对操作没影响吧
 楼主| 发表于 2010-12-28 11:55:46 | 显示全部楼层
本帖最后由 mandala 于 2010-12-28 15:51 编辑
Gu_xl 发表于 2010-12-27 23:04
不想关闭捕捉,就别用command啦!用函数来制造物体!


我试着用了加“non”的办法,似乎解决了问题,请问这种方法可靠吗?
  1. (defun c:bbb()
  2. (setq p1(getpoint"First:"))(command" circle"“_NON”p1"0.5")
  3. (while(setq p2(getpoint p1" Next:"))
  4.     (setq a (polar p1 (angle p1 p2) 0.5))
  5.     (setq b (polar p2 (angle p2 p1) 0.5))
  6.      (command "_.LINE" "_NON" a "_NON"  b "")(command"circle" "_NON"p2"0.5")
  7.     (setq p1 p2)
  8. )
  9. )
发表于 2010-12-28 13:34:13 | 显示全部楼层
回楼上:可靠。
 楼主| 发表于 2010-12-28 14:19:08 | 显示全部楼层
谢谢版主,在每一个command里加上“NON”后,使用到现在完全正常。照此看来,用这个方法可以在绝大多数情况下避免关闭捕捉了?毕竟在实际操作中,自动捕捉是很有用处的。
 楼主| 发表于 2010-12-28 14:30:22 | 显示全部楼层
本帖最后由 mandala 于 2010-12-28 14:32 编辑
lixdu 发表于 2010-12-28 11:37


嗯,也是个非常好的思路,试过了运行正常。谢谢lixdu。

用这种方法的问题就是如果中途出现问题退出,以前的捕捉设置会丢失。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-10 13:09 , Processed in 0.158809 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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