明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 小妹丁

[求助]ZZXXQQ,球标标注的问题。

    [复制链接]
发表于 2011-10-1 11:16:23 | 显示全部楼层
669423907 发表于 2011-9-30 21:03
ZZXXQQ 版您好,您的程序很好用。
提点小建议:起始号改为默认为1,选取屏幕的某一文字(单行或多行)的 ...

程序改了,因本机上无CAD,程序未经测试。
游客,本帖隐藏的内容需要发帖数高于 5 才可浏览,你当前发帖数只有 0

点评

可以选字高了  发表于 2011-10-4 19:43

评分

参与人数 1金钱 +20 收起 理由
669423907 + 20

查看全部评分

发表于 2011-10-1 15:27:08 | 显示全部楼层

RE:

ZZXXQQ 发表于 2011-10-1 11:16
程序改了,因本机上无CAD,程序未经测试。
[/post]

非常感谢ZZXXQQ版主。假后试用。祝明经人节日快乐!
发表于 2011-10-4 20:10:51 | 显示全部楼层
ZZXXQQ 发表于 2011-10-1 11:16
程序改了,因本机上无CAD,程序未经测试。
[/post]

非常感谢ZZXXQQ版主!可以选字高了!程序在使用过程中发现一些小问题:
1. 是否方便把选字高放在最前面,这样就避免了再确定标注位置后再到别的地方去选字高,然后再回到原来的地方标注。
2. 可以选择字高,如果直接右键能默认之前的字高就更加完美啦!
发表于 2011-10-4 21:46:46 | 显示全部楼层
本帖最后由 669423907 于 2011-10-4 21:49 编辑

(defun c:qq (/ os oldlayer pt num ppoint angleline texthight LINEL)
(setq la (getvar"clayer"))
(setvar"clayer""9标注")

............................
;  (setvar "CLAYER" "文本")
............................
;  (setvar "CLAYER" "粗实线")
............................
;   (setvar "CLAYER" "标注")
...........................
(setvar "clayer"la)
(princ)
)
(princ "***qub***国庆版")
(princ)


我这样加为什么提示 :
错误: AutoCAD 变量设置被拒绝: "clayer" nil
发表于 2011-10-7 21:48:09 | 显示全部楼层
再次感谢ZZXXQQ版
搞定了!
改成这样:
(defun c:qqqq (/ os oldlayer pt num ppoint angleline texthight LINEL)
(setq la (getvar"clayer"))
(setvar"clayer""9标注")
; (setvar "CMDECHO" 0)
(setq os (getvar "osmode"))
(setq ort (getvar "ORTHOMODE"))
(setq oldlayer (getvar "CLAYER"))
(command "_.undo" "be")
; (setvar "osmode" 0)
; (setvar "ORTHOMODE" 1)
(if (and (setq s1 (entsel "\n选择文本 :"))
           (setq ent (entget(car s1)))
           (= (cdr(assoc 0 ent)) "TEXT"))
   (setq texthight (cdr(assoc 40 ent)))
   (setq texthight (getvar 'textsize))
  )
(if (and (setq numx (getint "\n起始序号<1>") numx (if numx numx 1))
          (setq pt (getpoint "\n指定球标位置 :"))) (progn
  (setvar "ORTHOMODE" 0)
  (setq ppoint (getpoint pt "\n标示构件点 :"))
;  (setvar "ORTHOMODE" 1)
(setq angleline (angle ppoint pt))  
  (setq LINEL (- (distance PPOINT PT) (* 1.0 texthight)))
  (setq num (rtos numx 2 0))
;  (command "LAYER" "M" "文本" "")
  (command "mtext" pt "J" "MC" "H" texthight "w" 8 NUM "")
;  (command "LAYER" "M" "粗实线" "")
  (command "CIRCLE" PT (* 1 texthight))
;  (command "LAYER" "M" "标注" "")
   (command "donut" 0 "0.5" ppoint "")
  (command "LINE" (polar PPOINT angleline 0.25) (polar PPOINT angleline LINEL) "")
))
(if pt
(while (setq nextpoint (getpoint pt "\n下一个球标位置 :"))
  (if (< (abs (- (car nextpoint) (car pt))) (abs (- (cadr nextpoint) (cadr pt))))
   (setq ptx (list (car pt) (cadr nextpoint)))
   (setq ptx (list (car nextpoint) (cadr pt)))
  )
  (if (equal (distance ptx pt) (* 2 texthight) texthight)
   (setq ptx (polar pt (angle pt ptx) (* 2 texthight)))
  )
  (setq NUMx (1+ NUMx))
  (setq num (rtos numx 2 0))
;  (setvar "CLAYER" "文本")
  (command "mtext" ptX "J" "MC" "H" texthight "w" 8 NUM "")
;  (setvar "CLAYER" "粗实线")
  (command "CIRCLE" PTX (* 1 texthight))
  (if (not (equal (distance ptx pt) (* 2 texthight) texthight)) (progn
   (setvar "ORTHOMODE" 0)
   (setq ppoint (getpoint ptx "\n标示构件点 :"))
;   (setvar "ORTHOMODE" 1)
;   (setvar "CLAYER" "标注")
   (command "donut" 0 "0.5" ppoint "")
   (setq angleline (angle ppoint ptX))
   (setq LINEL (- (DISTance PPOINT PTX) (* 1.0 texthight)))
   (command "LINE" (polar PPOINT angleline 0.25) (polar PPOINT angleline LINEL) "")
  ))
  (setq pt ptx)
)
)
(setvar "clayer"la)
; (command "_.undo" "e")
; (setvar "ORTHOMODE" ort)
; (setvar "osmode" os)
; (setvar "CMDECHO" 1)
(princ))
 楼主| 发表于 2012-1-17 15:09:34 | 显示全部楼层
ZZXXQQ,我希望再改进下,先可连续定球标,(只当非连续球标时)再定标注点,这样可以考虑引线是从第一点或最后一点连出。
另,字高不用多考虑,textsize已足够,因为我在布局中用。
发表于 2012-1-17 17:03:21 | 显示全部楼层
哈哈哈!!!小妹丁!
发表于 2012-1-17 22:55:50 | 显示全部楼层
建议加个判断图层有和无,无则创建和一个错误处理,否则不回归0层
发表于 2012-1-17 23:15:05 | 显示全部楼层
小妹丁 发表于 2012-1-17 15:09
ZZXXQQ,我希望再改进下,先可连续定球标,(只当非连续球标时)再定标注点,这样可以考虑引线是从第一点或 ...

改了改,先试下。
游客,本帖隐藏的内容需要发帖数高于 5 才可浏览,你当前发帖数只有 0

评分

参与人数 1明经币 +2 金钱 +30 收起 理由
小妹丁 + 2 + 30 很给力!

查看全部评分

 楼主| 发表于 2012-1-18 11:23:37 | 显示全部楼层
基本上很实用了,我比较喜欢春节版的操作方式。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-6 05:09 , Processed in 0.232100 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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