找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1500|回复: 9

[编程申请]:请求高手编一个自动标注高程的程序

[复制链接]
发表于 2007-8-2 18:34:14 | 显示全部楼层 |阅读模式

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

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

×
想画一个断面图,用鼠标点取标注点后,直接把高程数据标注成如附件图中的两种形式(可选),并可以选择字体大小和三角形及横线的长短。
请求高手们帮忙解决一下这个难题,先谢谢了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2007-8-10 13:35:54 | 显示全部楼层
应该不难吧 把数据发到cgh93001@163.com 看看
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-12 12:53:51 | 显示全部楼层
不知道怎么老是图传送不上来,我再画了个试试看。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2007-8-19 07:58:51 | 显示全部楼层
非常感谢楼上cgh93001这位不知真实姓名的热心朋友,只是我对于编程一点不懂罢了。
您发的程序我用了一下,大部分要求都已经满足,只是还有点不理想:
1、标注文字高度可以设定很好,只是我想让文字样式默认为当前文字样式,好与其它文字统一起来。
2、当程序提示选择标注点时,它会把所有的捕捉都关掉了,只开启最近点,这一点不太好了,最好是不改动我设定的捕捉方式。
3、还有一点是原先我没有说清楚的,就是CAD里面的所有标注线及文字等均不影响生成面域,查寻面积,能不让程序产生的小三角形及线条也不影响查寻面积,如果难办就不要也罢。
4、最后一点不太重要,就是程序命令结束时,怎么老是提示选择标注点:512
还望朋友再帮助一下,谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-8-20 01:08:35 | 显示全部楼层
程序前请先设置当前字体的高度!
(defun c:bz1()  ;标注1
  (command"cmdecho" 0)
  (setq len (getreal "三角形边长:") )
  (setq linelen (abs (getreal "标注线边长:")))
  (setq blkr (strcat "blkr" (rtos len 2 2) (rtos linelen 2 2)) )
  (setq blkl (strcat "blkl" (rtos len 2 2) (rtos linelen 2 2)) )
  (setq pt2x (* len 0.5) pt2y (* len 0.866)  pt3x (* len -0.5) pt3y (* len 0.866))
  (if (not (tblsearch "block" blkr))
     (progn
        (command"pline" (list pt2x pt2y) "0,0" (list pt3x pt3y) (list (+ pt2x linelen) pt2y) "")
        (command"block" blkr "0,0" "l" "")
     )
  )
  (if (not (tblsearch "block" blkl))
     (progn
        (command"pline" (list pt3x pt3y) "0,0" (list pt2x pt2y) (list (- pt3x linelen) pt3y) "")
       (command"block" blkl "0,0" "l" "")
     )
  )
  (setq osmode (getvar"osmode"))
  (while (setq pt1 (getpoint "选标注点:"))
     (setq pt1x (nth 0 pt1) pt1y (nth 1 pt1))
     (setq pt9 (getpoint "标注方向:"))
     (setq pt9x (nth 0 pt9) pt9y (nth 1 pt9))
     (setq pt2x (+ pt1x (* len 0.5)) pt2y (+ pt1y (* len 0.866)) )
     (setq pt3x (+ pt1x (* len -0.5)) pt3y (+ pt1y (* len 0.866)) )
     (if (> pt9x pt1x)
        (progn
        (command"insert" blkr (list pt1x pt1y) "1" "1" "0")
       (command"text" "j" "m" (list (+ pt2x (* linelen 0.5)) (+ pt2y (* texth 0.7))) "0" (rtos pt1y 2 3) )
        )
        (progn
        (command"insert" blkl (list pt1x pt1y) "1" "1" "0")
        (command"text" "j" "m" (list (- pt3x (* linelen 0.5)) (+ pt3y (* texth 0.7))) "0" (rtos pt1y 2 3) )
      )       
   )
    (print)
  )
  (princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-20 10:21:38 | 显示全部楼层
试了一下还没有上次的用着好些,我把上次的捕捉修改了一下,可以不改变我的设定了。今天的这个情况见下:
命令: bz1 cmdecho
输入 CMDECHO 的新值 <1>: 0 三角形边长:1
标注线边长:3
选标注点:标注方向:
【错误】:参数类型错误: numberp: nil!
点无效。
点无效。
点无效。
点无效。
; 错误: *error* 函数中出错no function definition: ACET-UI-PROGRESS
指定文字的中间点: *取消*
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2007-8-20 12:40:27 | 显示全部楼层
我根本不知道怎么个赋值方法,还望楼上的老兄帮助再改一下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 22:34 , Processed in 0.295595 second(s), 50 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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