明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2751|回复: 10

快速标注角度

[复制链接]
发表于 2009-8-15 23:49:00 | 显示全部楼层 |阅读模式

偶待高手帮忙优化此程序,现此程序可用,但是达不到本人所要求的标准,本人要求一次框选两条线即可在两线形成的小于180度的夹角中标注角度,而且不再需要画线的两步动作了,本程序已经能实现点选即可完成标注角度, 还望各位版主,大侠出手解决,本人在此谢过!

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2009-8-16 12:08:00 | 显示全部楼层

;;;快速标注角度
(defun c:da ()

   (command "osnap" "endp,mid,int,cen")
   (SETQ OSD (Getvar "osmode"))
   (setvar "cmdecho" 0)
  (SETQ OLA (GETVAR "CLAYER")) ;保存目前使用的色层

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;; 请高手帮忙优化此处,要求使用(ssget)代替(entsel)操作并且 ;;;;;;;;;;;;
;;;;;;;;;;;; 一次框选两条线即可在两线形成的小于180度的夹角中标注角度 ;;;;;;;;;;;;
;;;;;;;;;;;; 而且不再需要画线的两步动作了,本程序已经能实现点选即可完 ;;;;;;;;;;;;
;;;;;;;;;;;; 成标注角度,                                            ;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  (setq en (entsel "请点选一条直线:"))      ;;<<<<<<<<
;  (setq enn (entsel "请点选另一条直线:"))   ;;<<<<<<<<

    (if (and (setq SS (ssget '((0 . "LINE"))))
             (= (sslength SS) 2)
        )
        (progn
             (setq en (ssname SS 0) enn (ssname SS 1))
        )
    )
;;;;;;;;;;;;;;;;;;;
(SETVAR "OSMODE" 0)

(setq en_data (entget en))
(setq p1 (cdr (assoc 10 en_data)) ) ;取得起点p1坐标
(setq p2 (cdr (assoc 11 en_data))) ;取得终点p2坐标
  (command "line" p1 p2 "")  ;;<<<<<<<<
  (setq ent1 (entlast))      ;;<<<<<<<<
;;;;;;;;;;;;;;;;;;;
(setq en_dat (entget enn))
(setq p3 (cdr (assoc 10 en_dat))) ;取得起点p3坐标
(setq p4 (cdr (assoc 11 en_dat))) ;取得终点p4坐标
  (command "line" p4 p3 "")    ;;<<<<<<<<
  (setq ent2 (entlast))        ;;<<<<<<<<
  (command "_ERASE" en enn "") ;;<<<<<<<<
   (setq P5 (inters P1 P2 P3 P4 nil));建立第6点
  (setq ang (/ (+ (angle p2 p1) (angle p2 p3)) 2));;取得对像1/2角度值
  (setq p6 (polar p2 ang 10));建立第6点
  (command "dimangular" (list ent1 p5) (list ent2 p5) p6)
;;;  (setvar "osmode" 183)
;;;  (setvar "cmdecho" 1)

  (setvar "osmode" OSD )
  (SETVAR "CLAYER" OLA) ;恢复原色层
  (setvar "cmdecho" 1)

  (princ)
)

点评

牛!  发表于 2017-3-31 19:19
 楼主| 发表于 2009-8-16 16:28:00 | 显示全部楼层
谢谢yoyoho大侠的帮忙,此程序已经达到了本人的要求了,再次谢过
发表于 2009-8-17 08:33:00 | 显示全部楼层

收藏

发表于 2009-8-17 09:46:00 | 显示全部楼层

不过我想这个程序还是应该加一个位置放置的输入会更好一点

 楼主| 发表于 2009-8-17 23:42:00 | 显示全部楼层
已经整理了2楼的程序,加入了位置放置功能了

本帖子中包含更多资源

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

x

点评

如果能批量标注就好了  发表于 2014-1-10 09:52
发表于 2011-3-30 18:19:36 | 显示全部楼层
谢谢楼主的好程序
发表于 2011-3-30 19:37:59 | 显示全部楼层
原来还可以这个样子啊
发表于 2016-5-15 18:15:05 | 显示全部楼层
本程序虽然实线了框选,但只对直线起作用,不如CAD原程序好。。。
  1. ;;--------标注角度------------------------------------------------------
  2. (defun c:jd (/ o1 o2 o3)
  3.   (setq O1 (Getvar "dimadec"))
  4.   (setq O2 (Getvar "cmdecho"))
  5.   (setq O3 (Getvar "osmode"))
  6.   (setvar "osmode" 0)
  7.   (setvar "dimadec" 2)
  8.   (command "dimangular" pause pause pause "" pause)
  9.   (command pause)
  10.   (setvar "dimadec" o1)
  11.   (setvar "cmdecho" o2)
  12.   (setvar "osmode" o3)
  13.   (princ)
  14. )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-20 09:00 , Processed in 0.214813 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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