明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2364|回复: 6

[求助]大家好!我是一个新手,很多问题都不懂,请大家多多指教。谢谢!

[复制链接]
发表于 2002-10-12 16:23:00 | 显示全部楼层 |阅读模式
我想编一个小程序以实现打断工能,源程序如下:
(defun c:br(/ a bb )
  (setq a (getvar "osmode"))
  (setvar "osmode" 544)
  (setq bb (getpoint "\n 请输入打断点:"))
  (command "break" bb bb)
  (setvar "osmode" a)
  )
加载后运行,一般的情况还可以,但遇到特殊情况就不行了。如两条线相交,我想在焦点把其中一条线打断,而结果往往是将另外的一条线打断;还有我想把一个圆分成两段圆弧,也没法实现
还请您多多指点,本人不胜感激。
谢谢!
发表于 2002-10-12 17:08:00 | 显示全部楼层

打断应使用F选项。

(defun C:BRF(/ e1 pt)
  (setq e1 (entsel "\nSelect object: ")
        pt (getpoint "\nPick a point: ")
  )
  (command "break" e1 "f" pt pt)
)
发表于 2002-10-13 10:13:00 | 显示全部楼层

把一个圆分成两段圆弧

把一个圆分成两段圆弧,下面的代码也许能做到,也是新手。
(defun C:BRC(/ en1 en2 ed  start end pt1 pt2 a)
  (setq a (getvar "osmode"))
  (setvar "osmode" 544)
  (while (/= (cdr (assoc 0 (entget (car
        (setq en1 (entsel "\nSelect a Circle: ")))))) "CIRCLE")
    (alert "Not a circle, try again...")
  )
  (setq pt1 (getpoint "\nPick first point: ")
        pt2 (getpoint "\nPick second point: ")
  )
  (command "break" en1 "f" pt1 pt2)
  (command "copy" en1 "" pt1 pt1)
  (setq en2 (entlast)
        ed (entget en2))
  (setq start (cdr (assoc 50 ed))
        end (cdr (assoc 51 ed)))
  (setq ed (subst (cons 50 end) (assoc 50 ed) ed)
        ed (subst (cons 51 start) (assoc 51 ed) ed))
  (entmod ed)
  (setvar "osmode" a)
);
 楼主| 发表于 2002-10-14 07:00:00 | 显示全部楼层

谢谢指教!通过使用F选项,已经解决了怎样区分实体的问题。

从您的解决方法中我总结出一个心得,那就是不仅仅要注意CAD命令的本身,还要注意它的参数,在关键时刻他们是很有用的,对么?
但有些命令的参数不能完全从CAD的命令行中获得,如TEXT命令,通过什么参数能把文字限定在一定范围内,随着字符的长短来自动改变字符的间隙。
如果一个命令有“隐藏”的参数,怎样来获得他们
 楼主| 发表于 2002-10-14 07:03:00 | 显示全部楼层

我从来没有想到通过再创建一个实体的方法来解决这个问题的,谢谢您的指点,让我回去

我从来没有想到通过再创建一个实体的方法来解决这个问题的,谢谢您的指点,让我回去试一试在好好谢谢您吧。[br]
发表于 2002-10-14 18:30:00 | 显示全部楼层

字符的间隙是在Shx文件中定义的。

字符的间隙是在Shx文件中定义的,不可能随意改变,不过在Text的对齐方式选项中的Align、Fit可能对你有些帮助。如果一定要这样做,只好写程序,将汉字一个一个的调入。
至于隐藏参数,确实应该有,至少隐含的系统变量是有点,前面有过讨论。我的看法是最好不用,一定还有不足,否则干吗藏着。有些隐含参数则当例外,就是兼容低版本的参数,应该不会有问题,不过在高版本中一般有替代。
 楼主| 发表于 2002-10-18 07:15:00 | 显示全部楼层

打断函数整理后内容如下:


还请各位批评指正,谢谢!

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2024-11-25 19:43 , Processed in 0.186736 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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