明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: xj6019

[讨论] 求制作多级标注工具

[复制链接]
发表于 2019-12-10 18:58 | 显示全部楼层
xj6019 发表于 2019-12-10 18:32
方便的话这这个基础上,给我弄个标注斜边的行吗,不行就用两个命令吧,我自己试着改了一下,水平不行啊, ...

上一版的就是斜标的,你自己研究吧,斜标不能随便移动标注点的
回复

使用道具 举报

 楼主| 发表于 2019-12-10 19:56 | 显示全部楼层
嗯 好的  我自己研究研究学习一下吧   谢谢了!!
回复

使用道具 举报

 楼主| 发表于 2019-12-14 12:56 | 显示全部楼层
start4444 发表于 2019-12-10 18:58
上一版的就是斜标的,你自己研究吧,斜标不能随便移动标注点的

你好,再麻烦一下,这几天用下来,每次尺寸线之间的距离每次都脑子算一遍有点不方便,我说个思路您看看好改吗,输入距离的时候可不可以把代码换成一个计算公式,都乘以6,运行代码的时候直接输入倍数,比方说用30倍的标注样式的时候,直接输入30,代码自动乘以6,以180的标注间距来分层。
  可以的话,把斜线标注的也改一下,斜线标注那个,也改成自动记忆上次输入的数值,加上这次的倍数计算。
这样两个命令就可以满足我大部分情况下的使用了,变动有点复杂我自己研究肯定是白费的,只能再次麻烦您了。您加我一下wx吧    xx6019ll    老是麻烦您也不好意思,给您转个红包,谢谢了!
回复

使用道具 举报

发表于 2019-12-14 15:06 | 显示全部楼层
xj6019 发表于 2019-12-14 12:56
你好,再麻烦一下,这几天用下来,每次尺寸线之间的距离每次都脑子算一遍有点不方便,我说个思路您看看好 ...

tt5正标、tt6斜标

本帖子中包含更多资源

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

x

点评

你好,上面代码里面好不好加个判断,如果如果中途点错了,能否ctrl+z撤销一下,但是程序不终止,只要继续点击,就可以继续标注吗  发表于 2020-3-10 13:42

评分

参与人数 1明经币 +1 收起 理由
xj6019 + 1 很给力!

查看全部评分

回复

使用道具 举报

发表于 2019-12-14 18:30 | 显示全部楼层
xj6019 发表于 2019-12-14 12:56
你好,再麻烦一下,这几天用下来,每次尺寸线之间的距离每次都脑子算一遍有点不方便,我说个思路您看看好 ...

以后不要乱发微信号,没必要,小心有人冒充的,我没加你
回复

使用道具 举报

 楼主| 发表于 2019-12-14 20:56 | 显示全部楼层
谢谢,又麻烦你了,再次表示衷心感谢!
回复

使用道具 举报

发表于 2019-12-15 22:15 | 显示全部楼层
这种不是直接用 dimbase 来解决吗? 注意先在 dimstyle中 设置好 间距 数值。
比例的问题,直接使用 Annotative 特性就好。
回复

使用道具 举报

 楼主| 发表于 2019-12-15 22:20 | 显示全部楼层
e2002 发表于 2019-12-15 22:15
这种不是直接用 dimbase 来解决吗? 注意先在 dimstyle中 设置好 间距 数值。
比例的问题,直接使用 Annot ...

不好意思   我水平有点菜   不太懂哦,只能让懂的给点现成的才会用 ,谢谢您的指导,我也正在努力学习当中,希望水平天天日上吧

点评

建议先掌握好基础的AutoCAD功能,那时候你才能知道什么需求是需要写程序才能做或者提高效率的。  发表于 2019-12-16 12:37
回复

使用道具 举报

 楼主| 发表于 2020-9-3 13:13 | 显示全部楼层
本帖最后由 xj6019 于 2020-9-3 13:15 编辑

老师,不好意思,一个老帖子翻出来,想再改进一下,我想把第一排的尺寸线间距也固定一下,自己尝试过很多次了,每次都想改改,但是搞不定呀。麻烦你再劳驾一下看看怎么弄好吗,拜托了!
想法是:以第一个点为定义,第一排的间距固定成 (* 8 Dbiaozhu) 的间距,麻烦用红色字体标记一下怎么改的好吗,我参照你改的,把那个斜标的,也一起改一下,改斜标是不是也一个改法呀。
一直在用的代码在14楼,忘了的话你下载了再看看。


(defun c: DV (/ dim n d i lastdim  p1 p11 p2 p22 p3 p33 p4 plst px);正標
(command "Selectioncycling" "0");ctrl/w關閉
        (if (not nbiaozhu) (setq nbiaozhu 2)) (if (not Dbiaozhu) (setq Dbiaozhu 20))
        (setq  nbiaozhu (if (setq n (getint (strcat "\n>>>標注排數<" (itoa nbiaozhu) ">:"))) n nbiaozhu) Dbiaozhu (if (setq d  (getreal (strcat "\n>>>標註比例<" (rtos Dbiaozhu 2 2) ">:"))) d Dbiaozhu) i 0 plst '())              
        (command "DIMLINEAR" pause pause pause )(setq dim (entlast) p1 (cdr (assoc 13 (entget dim))) p2 (cdr (assoc 14 (entget dim))) p3 (cdr (assoc 10 (entget dim))) px (getpoint))
        (command  "DIMCONTINUE" dim)
        (while px
                (command px)
                (setq px (getpoint"\n>>>選取下一点:") plst (cons px plst))
        )
        (command)
        (setq lastdim (entlast) p11 (cdr (assoc 13 (entget lastdim))) p22 (cdr (assoc 14 (entget lastdim))) p33 (cdr (assoc 10 (entget lastdim)))  p4 (inters p3 p33 p1 (polar p1 (angle p2 p3) 5) nil))
        (repeat (1- nbiaozhu)
                (command "DIMLINEAR" "non" (polar p4 (angle p2 p3) (* i (* 6 Dbiaozhu))) "non" (polar p33 (angle p2 p3) (* i (* 6 Dbiaozhu)))  "non" (polar p3 (angle p2 p3) (* (* 6 Dbiaozhu) (setq i (1+ i)))))
        )
        (c:ddr)
(command "Selectioncycling" "2");ctrl/w打開
)


回复

使用道具 举报

发表于 2020-9-4 18:08 | 显示全部楼层
本帖最后由 start4444 于 2020-9-4 18:09 编辑
xj6019 发表于 2020-9-3 13:13
老师,不好意思,一个老帖子翻出来,想再改进一下,我想把第一排的尺寸线间距也固定一下,自己尝试过很多 ...

一样的,斜的自己搞过去就行
(defun c:tt5 (/ dim n d i lastdim  p1 p11 p2 p22 p3 p33 p4 plst px);正标
        (if (not nbiaozhu) (setq nbiaozhu 3)) (if (not Dbiaozhu) (setq Dbiaozhu 1))
        (setq  nbiaozhu (if (setq n (getint (strcat "\n>>>标注排数<" (itoa nbiaozhu) ">:"))) n nbiaozhu) Dbiaozhu (if (setq d  (getreal (strcat "\n>>>标注比例<" (rtos Dbiaozhu 2 2) ">:"))) d Dbiaozhu) i 0 plst '())
        (command "DIMLINEAR" pause pause pause )
;--------------------------------------------------------------------------------        改
       (setq dim (entlast) p1 (cdr (assoc 13 (entget dim))) p2 (cdr (assoc 14 (entget dim))) p3 (cdr (assoc 10 (entget dim))) p4 (polar (ptper p1 p2 p3) (angle p2 p3)  (* 8 Dbiaozhu)))
        (entmod (setq ent (entget dim) ent (subst (cons 10 p4) (assoc 10 ent) ent )))        
        (setq dim (entlast) p1 (cdr (assoc 13 (entget dim))) p2 (cdr (assoc 14 (entget dim))) p3 (cdr (assoc 10 (entget dim))) px (getpoint))

;--------------------------------------------------------------------------------        改
        (command  "DIMCONTINUE" dim)
        (while px
                (command px)
                (setq px (getpoint"\n>>>选取下一点:") plst (cons px plst))
        )
        (command)
        (setq lastdim (entlast) p11 (cdr (assoc 13 (entget lastdim))) p22 (cdr (assoc 14 (entget lastdim))) p33 (cdr (assoc 10 (entget lastdim)))  p4 (inters p3 p33 p1 (polar p1 (angle p2 p3) 5) nil))
        (repeat (1- nbiaozhu)
                (command "DIMLINEAR" "non" (polar p4 (angle p2 p3) (* i (* 6 Dbiaozhu))) "non" (polar p33 (angle p2 p3) (* i (* 6 Dbiaozhu)))  "non" (polar p3 (angle p2 p3) (* (* 6 Dbiaozhu) (setq i (1+ i)))))
        )
        (c:ddr)
)

评分

参与人数 1明经币 +1 收起 理由
xj6019 + 1 很给力!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 05:44 , Processed in 0.146307 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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