明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 23238|回复: 101

[源码] 不知道标注全局比例?就动态修改。附: 标注断开及连续标注,标注合并

    [复制链接]
发表于 2013-6-28 23:02 | 显示全部楼层 |阅读模式
本帖最后由 yxp 于 2013-6-30 23:14 编辑

1 动态全局比例
     同时更新当前修改的标注样式的全局比例,使其对后续标注有效

动态全局比例源码:

2 标注断开+连续标注
     如果取点在标注内,就是断开,取点在标注外就是连续标注。

标注断开及连续,源码:

3 标注合并
     水平、垂直、对齐标注可批量一次选择,各自合并。

标注合并源码:



4 批量修改标注全局比例
非动态,手动输入比例
批量修改比例源码:  

.

本帖子中包含更多资源

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

x

点评

太给力了!!  发表于 2013-6-30 22:57

评分

参与人数 2明经币 +2 收起 理由
wayne_myles + 1 神马都是浮云
flytoday + 1 如果文字也能批量修改标注全局比例那更好哈.

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下

本帖被以下淘专辑推荐:

发表于 2023-12-18 10:38 | 显示全部楼层
yxp 发表于 2013-6-30 22:06
sorry ,原程序已更新,如果你不想下载就用下面的getmxy函数,替换原来的同名函数即可,Lsort 函数在标注断 ...

还是不行啊?
发表于 2022-2-4 16:26 | 显示全部楼层
yxp 发表于 2013-6-29 02:59
哈哈,难道这就是抛砖引玉?

这个代码,能不能修改为,直接连续标注,而不用先选择标注再进行连续标注。
发表于 2013-6-28 23:18 | 显示全部楼层
沙发顶一个,
发表于 2013-6-29 00:27 | 显示全部楼层

本帖子中包含更多资源

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

x
 楼主| 发表于 2013-6-29 02:59 | 显示全部楼层
本帖最后由 yxp 于 2013-6-30 23:04 编辑

哈哈,难道这就是抛砖引玉?

  1. ;;========================================
  2. ;; 标注断开及连续标注程序
  3. ;; by  明经通道  QQ: 9034598 2009年8月15日
  4. ;;========================================
  5. (vl-load-com)
  6. (defun c:ddr (/ n x ent entL p2 p3 px1 px2 py1 py2 ptdd xl sa pt0 ppt ptdd)
  7. (setvar "cmdecho" 0)
  8. (command "undo" "be")
  9. (setq entL '())
  10. (if (setq ent (centsel "\n选择标注 或 <退出>:" "DIMENSION"))
  11.    (progn
  12.      (setq x (entget ent)
  13.         entL (cons ent entL)
  14.           p2 (dxf 13 x)
  15.           p3 (dxf 14 x)
  16.           px1 (list (car p2) (/ (+ (cadr p2)(cadr p3)) 2.0))
  17.           px2 (list (car p3) (/ (+ (cadr p2)(cadr p3)) 2.0))
  18.           py1 (list (/ (+ (car p2)(car p3)) 2.0) (cadr p2))
  19.           py2 (list (/ (+ (car p2)(car p3)) 2.0) (cadr p3))
  20.           ptdd (list p2 p3)
  21.           XL (entget (dxf -2 (tblsearch "block" (dxf 2 x))))
  22.           SA (abs (sin (angle (dxf 10 xl) (dxf 11 xl)))))
  23.    (while (setq pt0 (getpoint "\n取点 或 <退出>:"))
  24.        (command ".copy" ent "" "0,0" "@")
  25.        (setq entL (cons (entlast) entL))
  26.     (cond
  27.       ((equal SA 1 1e-6) ;;水平
  28.          (setq ptdd (cons (ptper pt0 px1 px2) ptdd)
  29.                  ppt (Lsort ptdd 0))
  30.         )
  31.       ((equal SA 0 1e-6) ;;垂直
  32.          (setq ptdd (cons (ptper pt0 py1 py2) ptdd)
  33.                 ppt (Lsort ptdd 1))
  34.        )
  35.        (t (setq ptdd (cons (ptper pt0 p2 p3) ptdd)
  36.             ppt (Lsort ptdd 2)))
  37.       )
  38.        (setq ppL (mapcar 'list ppt (cdr ppt))
  39.               n 0)
  40.          (repeat (length ppL)
  41.            (setq xf (entget (nth n entL))
  42.                 nxf (subst (cons 13 (car  (nth n ppL)))(assoc 13 xf) xf)
  43.                 wxf (subst (cons 14 (cadr (nth n ppL)))(assoc 14 nxf) nxf)
  44.                 n (1+ n))
  45.            (entmod wxf)
  46.          )
  47.      ))
  48.   (princ "\n退出")
  49. )
  50.   (command "undo" "e") (setvar "cmdecho" 1)
  51.   (princ)
  52. )

  53. (defun centsel (msg f)
  54. (while (if (setq el (car (entsel msg))) (if (= (cdr (assoc 0 (entget el))) f) nil t) nil)) el
  55. )
  56. ;;取值dxf
  57. (defun dxf (x e)(cdr (assoc x e)))
  58. ;;求垂足
  59. (defun ptper (pt0 pt1 pt2)
  60. (inters pt0 (polar pt0 (+ (angle pt1 pt2) (/ pi 2)) 1.0) pt1 pt2 nil)
  61. )

点评

请问标注有没有合并标注的源码?  发表于 2013-6-30 16:29

评分

参与人数 1明经币 +1 收起 理由
ucuc2003 + 1 赞一个!

查看全部评分

发表于 2013-6-29 09:16 | 显示全部楼层
楼主好帅啊,能支持天正的标注么?
发表于 2013-6-29 09:42 | 显示全部楼层
这个功能不错,支持一下
发表于 2013-6-29 10:26 | 显示全部楼层
yxp 发表于 2013-6-29 02:59
哈哈,难道这就是抛砖引玉?再来一个。

这个不错呦
发表于 2013-6-29 10:50 | 显示全部楼层
真不错  神人
发表于 2013-6-29 10:59 | 显示全部楼层
yxp 发表于 2013-6-29 02:59
哈哈,难道这就是抛砖引玉?再来一个。

标注分解后缺少个删除原标注的步骤
发表于 2013-6-29 11:00 | 显示全部楼层
谢谢源码分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-27 04:48 , Processed in 0.242021 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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