明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: tukuitk

大虾接招,难题!!!

  [复制链接]
 楼主| 发表于 2003-10-13 15:20:00 | 显示全部楼层
在命令行中是可以输入<30.2来锁定角度,但它会受对象捕捉的影响且在编程中怎样实现呢?
 楼主| 发表于 2003-10-13 15:25:00 | 显示全部楼层
meflying大哥,你看见了我的回答吗?能看看你的程序吗?*error*怎样用?
发表于 2003-10-13 16:06:00 | 显示全部楼层
你的用法没错,不过要注意加载过程和运行过程的区别。
你加载时设置(setq errtmp *error*)可随后你又(setq *error* errtmp)这样,你等于什么都没做,中间只是加载了一个自定义的*error*,并不是使用了一个自定义的*error*,你要使用它必须在函数中取消,而不能在加载过程中就取消

本帖子中包含更多资源

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

x
 楼主| 发表于 2003-10-13 16:18:00 | 显示全部楼层
高手就是高手。
佩服!!!!
有个小问题:画角平分线时,我发现平分线与两条边的夹角虽然等度。但它有时不在角平分线上,若能平移到角平分线上(即使它的延长线过两条边的交点)就完美了!
发表于 2003-10-13 16:20:00 | 显示全部楼层
这个取决与你的起点,你可以用捕捉功能将起点点在交点处就可以了

如果你想每次画角平分线都由交点开始的画,我再帮你改改程序
 楼主| 发表于 2003-10-13 16:25:00 | 显示全部楼层
当画一斜线的平行线时,指定第一点后,按ESC键取消后,光标的角度没有还原,仍然是斜的。
怎样解决呢?
 楼主| 发表于 2003-10-13 16:32:00 | 显示全部楼层
若两条线没有相交或虚交点很远,我们就不能把第一点定在交点了。
发表于 2003-10-13 16:38:00 | 显示全部楼层
将(defun *error* ...改为(defun err(...
主函数改为:
(defun c:draw( / ss)

  (setvar "cmdecho" 0)
  (setvar "orthomode" 1)
  (setq *error* err)
  (setq ss (ssget '((0 . "line"))))
  (cond
    ((= (sslength ss) 1) (Dline ss))
    ((= (sslength ss) 2) (Div ss))
    (t (exit))
  )
  (setvar "osmode" os)
  (setvar "cmdecho" cmd)
  (setvar "snapang" sang)
  (setvar "orthomode" ortho)
  (setq *error* errtmp)
  (princ)
)
 楼主| 发表于 2003-10-13 16:45:00 | 显示全部楼层
meflying大哥:
你是好样的,我支持你。

按ESC键取消后,光标的角度还原了。
我受教了,受益不浅哟!

角平分线的起点问题怎么办呢?
发表于 2003-10-13 17:04:00 | 显示全部楼层
起点你决定啊,因为你起点并不都是在交点,那只有用户决定了。
现在我的程序就是这样的啊,你可以指定起点,当然,你可以指定起点为交点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-2 14:39 , Processed in 0.184757 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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