找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: ttthhh_hb

弧长标注程序新版,欢迎使用,提建议。(免收爱心币)

[复制链接]

已领礼包: 12个

财富等级: 恭喜发财

 楼主| 发表于 2005-4-17 01:40:11 | 显示全部楼层
最初由 啵浪鼓 发布
[B]选择物体后选弧线第一点,得到下面的结果:
Command: ds
请选取要标注的圆弧<退出>:
弧线第一点<标全长>:; error: bad argument type: numberp: nil

选择物体后回车<标全长>,得到的 ?446.3,不知这?号是怎么... [/B]


你选定第一点时,捕捉的点不在圆弧线上,请在选点时确保选的点在圆弧上(最好打开捕捉开关F3)。
“?“号应是"⌒",可能是字体设置的关系,我用大字体txt_s.shx+hztxt.shx 是显示"⌒"。看来要适用不同的字体,得直接画一个"⌒"了,呵呵。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-17 02:01:36 | 显示全部楼层
点到线上得到下面的结果:
Command: ds
请选取要标注的圆弧<退出>:
弧线第一点<标全长>:
Unknown command "T".  Press F1 for help.
Unknown command "⌒34.22".  Press F1 for help.
0

选择第一点得到这个结果:
Command: ds
请选取要标注的圆弧<退出>:
弧线第一点<标全长>:; error: bad argument type: numberp: nil
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 12个

财富等级: 恭喜发财

 楼主| 发表于 2005-4-17 02:51:25 | 显示全部楼层
程序是存在不完善的地方。
对于圆弧实体或只含圆弧的多段线,程序使用正确。
对于多段线中含有圆弧段且含有其他线段,如果使用时点取不在圆弧段上,或点取第一点后回车,则会出现上述现象。
请等待改进。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

已领礼包: 12个

财富等级: 恭喜发财

 楼主| 发表于 2005-4-18 21:12:40 | 显示全部楼层
最初由 xmchy 发布
[B]不太好用,r14下不能用,r2002下棋标注类型设得也不好,看不见字。 [/B]


现在用R14的人相对来说少了,你如果需要我可以给你个for R14的。
用的是AutoCAD当前的标注类型啊,你可修改当前的标注类型以满足你的喜好。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-30 08:37:23 | 显示全部楼层
先谢谢楼主提供的好程序,但能不能改一下,弧度标注能不能放在数据上才标淮,另外不知楼主用的什么字体?我无法标注出弧度标注.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-30 09:32:16 | 显示全部楼层
今天我翻了下规范,规范没有说到表示弧长要加顶上那个小月亮阿......
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-30 13:22:38 | 显示全部楼层
自编:
[php]
(load "xyp_lib")
;|
加载通用函数
如果已经下载xyp_lib并放到搜索路径下可以不再下载!
下载地址:http://www.xdcad.net/forum/showthread.php?s=&threadid=325268
如果已在acad.lsp中添加了(load "xyp_lib"),可以直接运行下面的程序。
|;

;;;弧长标注
(defun c:test113()
  (cmdla0)
  (jzhz)
  (setvar"dimblk"".")
  (setvar"dimblk1"".")
  (setvar"dimblk2"".")
  (setvar"DIMASZ"300)
  (setq s1 (usel 0 "ARC"))
  (command "lengthen" s1 "")
  (princ "\n弧长标注位置 : ")
  (command "dimangular" s1 pause)
  (setq s2 (entlast))
  (sub_upd s2 1 (strcat "︵"(rtos (getvar "perimeter"))))
  (cmdla1)
  )
(defun c:hcbz()(c:test113))
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 12个

财富等级: 恭喜发财

 楼主| 发表于 2005-4-30 20:54:11 | 显示全部楼层
CAD R2006中的弧长标注也只能标注整个圆弧的全长,不能标注局部弧长。
但它能识别多段线中的圆弧部分,而我的程序中尚不能识别多段线中的圆弧部分,还需改进,而且我还想加入容错处理,并加上连续标注弧长的功能,只是最近工作太忙没有时间,希望大家改善完成。(连续标注弧长的功能最好象CAD中的dco命令一样,不用再次选择圆弧,而只需选择圆弧标注)
另外,还想在加上选项:弧长标注标志是标在弧长标注数值前,还是在上面,还是不加弧长标注。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 12个

财富等级: 恭喜发财

 楼主| 发表于 2005-4-30 21:39:04 | 显示全部楼层
谢谢狂刀兄!
提点思路:
1。弧长标注标志可根据弧长标注字高按比例画弧线,而位置可根据弧长标注文本的坐标及标注的起点和终点的方向确定。
2。根据所选的弧长标注确定所对应的圆弧,可过滤符合通过所选的弧长标起点和终点,并且圆心是所选弧长标注的圆心的圆弧。
功能  
判断多段线是否有圆弧(凸度/=0)的子段
(defun checkarc (ename)
  (setq obj (vlax-ename->vla-object ename))
  (setq plist (vlax-safearray->list
(vlax-variant-value
  (vla-get-coordinates obj))))
  (setq n 0 bu nil)
  (repeat (/ (length plist) 2)
    (if (/= (vla-getbulge obj n) 0)
      (setq bu T)
     )
    (setq n (+ n 1))
  )
  bu
)  

语法  
(checkarc ename)  
参数  
ename:图元名  
返回值  
T:有圆弧段
nil:无圆弧段  

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 19:27 , Processed in 0.208855 second(s), 53 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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