明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3668|回复: 3

一个简单的智能标注

[复制链接]
发表于 2013-4-19 20:50 | 显示全部楼层 |阅读模式
我是菜鸟,刚学会编程.想做一个标注的编程但是又不会!还请明经的师兄前辈们帮帮忙!
要求如下:
  只标直线的.文字为TXT 精度为小数点后二位.最好尺寸能自动避让(没有也可以,用来学习更多!).能框选标注!可选标注文字大小
郊果如图:

本帖子中包含更多资源

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

x
 楼主| 发表于 2013-4-21 17:07 | 显示全部楼层
没有人么?下面是我自己做的一个只标注线的长度的多选标注。想做一个二线X轴的标注和Y轴标注!下面是代码和图片

  1. (defun c:tt ()
  2.   (setq pt1dist (getint "\n请输入标注时[往左拉或往下拉]的长度[10]:"))
  3.   (if (null pt1dist) (setq pt1dist 10))
  4.   (prompt "请选择标注的线段:")
  5.   (setq entss (ssget)) ;(setq entss (ssget "a" '((0 . "LINE"))))
  6.   (setq n 0)
  7.   (repeat (sslength entss)
  8.     (setq ent (ssname entss n)) ;返回选择集的名字,从0开始的这是固定的
  9.     (setq get (entget ent)) ;得出每一个选择集的属性
  10.     (setq pt10 (cdr (assoc 10 get)))
  11.     (setq xpt10 (car pt10))
  12.     (setq ypt10 (cadr pt10))
  13.     (setq pt11 (cdr (assoc 11 get)))
  14.     (setq xpt11 (car pt11))
  15.     (setq ypt11 (cadr pt11))
  16.     (cond
  17.       ((equal ypt10 ypt11 ) (setq pt1 (polar pt10 (/ pi -2) pt1dist)) (command "dimlinear" pt10 pt11 "h" pt1))
  18.       ((equal xpt10 xpt11 ) (setq pt1 (polar pt10 pi pt1dist)) (command "dimlinear" pt10 pt11 "v" pt1))
  19.       (t (setq pt1 (polar pt10 (angle pt10 pt11) pt1dist)) (command "DIMALIGNED"  pt10 pt11 pt1))
  20.     )
  21.     (setq n (+ n 1))
  22.   )
  23. )
  24.    


本帖子中包含更多资源

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

x
发表于 2013-4-21 17:37 | 显示全部楼层
納悶 AutoCAD QDIM指令可以輕鬆做到的事. 為何要再自己重寫程式.
 楼主| 发表于 2013-4-21 17:52 | 显示全部楼层
shenhung 发表于 2013-4-21 17:37
納悶 AutoCAD QDIM指令可以輕鬆做到的事. 為何要再自己重寫程式.

我不知道啊!我看到别人用过还以为是别人写的程序呢。谢谢shenhung师兄!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-28 07:52 , Processed in 0.199953 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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