找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1004|回复: 12

[编程申请]:角度标注:强力dimangular

[复制链接]
发表于 2005-5-23 10:10:52 | 显示全部楼层 |阅读模式

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

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

×
强力dimangular
我们在实际当中会用到dimangular这个命令,但是在实际情况中我们很多时候碰到弧线与直线,弧线与弧线相交的情况,而我们又需要知道他们在相交处的夹角(即:测出其各自在交点的切线的夹角),平时我们都是先作其各自通过交点的切线,再测量角度。费时费力。可否写个强力的测角lisp,直接得出这些情况下的该点的切线角度呢?请高手解决!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-5-25 15:00:55 | 显示全部楼层
这样的程序比较实用,如果有人给编辑出来那真是太方便了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2005-5-26 22:11:36 | 显示全部楼层
只针对两弧切角标注:
[php](load "xyp_lib");加载通用函数
;|
如果已经下载xyp_lib并放到搜索路径下可以不再下载!
利用以下任何一种方式即可加载和运行通用函数内的所有子程序:
1.在acad.lsp中增加(load"xyp_lib")
2.在每个程序内增加(load"xyp_lib")
3.在command下,输入(load"xyp_lib")
4.在菜单.mnl中增加(load"xyp_lib")
通用函数下载地址:http://www.xdcad.net/forum/showthread.php?s=&threadid=325268
|;

;;;两弧交点切线角度标注
(defun c:test134 ()
  (cmdla0)
  (princ "\n选择圆弧 : ")
  (setq        s1   (usel 0 "ARC")
        s2   (usel 0 "ARC")
        es1  (entget (car s1))
        es2  (entget (car s2))
        pt   (vlax-safearray->list
               (vlax-variant-value
                 (vla-intersectwith
                   (vlax-ename->vla-object (car s1))
                   (vlax-ename->vla-object (car s2))
                   acExtendnone
                 )
               )
             )
        pt11 (polar pt
                    (+ (angle (dxf 10 es1) pt) (* pi 0.5))
                    (dxf 40 es1)
             )
        pt22 (polar pt
                    (- (angle (dxf 10 es2) pt) (* pi 0.5))
                    (dxf 40 es2)
             )
  )
  (mkla "切角" 1)
  (setvar"osmode"0)
  (command "line" pt11 pt "")
  (setq e1 (entlast))
  (command "line" pt pt22 "")
  (setq e2 (entlast))
  (mkla "切角标注" 3)
  (command "dimangular"
           (cons e1 '((0 0 0)))
           (cons e2 '((0 0 0)))
           (_midp (_midp pt pt11) (_midp pt pt22))
  )
  (cmdla1)
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2005-5-28 00:21:06 | 显示全部楼层
[php]
(load "xyp_lib");加载通用函数
;|
如果已经下载xyp_lib并放到搜索路径下可以不再下载!
利用以下任何一种方式即可加载和运行通用函数内的所有子程序:
1.在acad.lsp中增加(load"xyp_lib")
2.在每个程序内增加(load"xyp_lib")
3.在command下,输入(load"xyp_lib")
4.在菜单.mnl中增加(load"xyp_lib")
通用函数下载地址:http://www.xdcad.net/forum/showthread.php?s=&threadid=325268
|;

;;;线弧交点切线角度标注
(defun c:test134 ()
  (cmdla0)
  (princ "\n选择圆弧 : ")
  (setq        s1         (uentsel 0 '("ARC" "LINE") "圆弧或线")
        s2         (uentsel 0 '("ARC" "LINE") "圆弧或线")
        es1         (entget (car s1))
        es2         (entget (car s2))
        pt10-es1 (dxf 10 es1)
        pt10-es2 (dxf 10 es2)
        pt         (vlax-safearray->list
                   (vlax-variant-value
                     (vla-intersectwith
                       (vlax-ename->vla-object (car s1))
                       (vlax-ename->vla-object (car s2))
                       acExtendnone
                     )
                   )
                 )
  )
  (if (/= "LINE" (dxf 0 es1))
    (setq pt11 (polar pt (+ (angle pt10-es1 pt) (* pi 0.5)) (dxf 40 es1)))
    (setq pt11 pt10-es1)
  )
  (if (/= "LINE" (dxf 0 es2))
    (setq pt22 (polar pt (- (angle pt10-es2 pt) (* pi 0.5)) (dxf 40 es2)))
    (setq pt22 pt10-es2)
  )
  (mkla "法线" 1)
  (command "line" pt11 pt "")
  (setq e1 (entlast))
  (command "line" pt pt22 "")
  (setq e2 (entlast))
  (mkla "切角标注" 3)
  (command "dimangular"
           (cons e1 '((0 0 0)))
           (cons e2 '((0 0 0)))
           (_midp (_midp pt pt11) (_midp pt pt22))
  )
  (if (= "LINE" (dxf 0 es1))
    (entdel e1)
  )
  (if (= "LINE" (dxf 0 es2))
    (entdel e2)
  )
  (cmdla1)
)[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-28 01:50:54 | 显示全部楼层
输入命令再输入比例后出错:(选择圆弧 : 错误:no function definition: UENTSEL)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-28 08:45:28 | 显示全部楼层
最初由 huiling6868 发布
[B]输入命令再输入比例后出错:(选择圆弧 : 错误:no function definition: UENTSEL) [/B]

这是最新自定义的函数“UENTSEL”,作用类似entsel,但可以控制过滤dxf代码,如果不符合过滤要求,会一直提示用户按要求选择物体。

请在签名栏下重新下载通用函数xyp_lib。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-28 11:57:55 | 显示全部楼层
重新下载后还是
输入命令再输入比例后出错:(选择圆弧 : 错误:no function definition: UENTSEL)
其实最好将函数uentsel 直接放在(defun c:test134 () )中,这样单个加载就可以使用了。。。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2005-5-30 08:32:16 | 显示全部楼层
很好用!不过,好像有的时候标注的并非是你选的那个夹角,而是其对顶角或其补角.....
有个不情之请能否公布源码阿?大虾,也让小弟学学!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-30 12:48:47 | 显示全部楼层
最初由 大黄蜂 发布
[B]很好用!不过,好像有的时候标注的并非是你选的那个夹角,而是其对顶角或其补角.....
有个不情之请能否公布源码阿?大虾,也让小弟学学! [/B]

“源码”就在7楼!不过考虑得不是太细致,标注角度的位置与画图的顺序有关(dxf 10代码),有时并不是实际需要的,正像你所说可能是“对顶角或其补角”,不过基本可用。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-28 06:51 , Processed in 0.320540 second(s), 57 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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