lucas3 发表于 2022-7-5 23:47:57

倒角尺寸!如何做?

鼠标单击倒角线,自动标注倒角大小
支撑线、线路、,
 

lucas3 发表于 2022-7-5 23:54:12

 
 
帮助谁能帮我?非常感谢。

Lee Mac 发表于 2022-7-5 23:57:17

到目前为止,您有哪些代码需要帮助?

ReMark 发表于 2022-7-5 23:58:58

我认为他没有任何密码。我还认为OP使用CADTutor在他参与的公告板上回答问题(即,他代表其他人提问)。

lucas3 发表于 2022-7-6 00:02:56

 
李,谢谢你的回复

(defun c:tt (/            en         en_data         pt0      endpt1 endpt2 cjsl
            endpt1x         endpt1y         endpt2x       endpt2y
            dinptcl         cl1          cl2         txt      pt3    pt4    pt3x
            ang1   pt5         pt6          pt6x         l      pt7    ang2   l1
            n            l2         th          pt8         pt9      pt10   ggg v2 v3
         os)
(setq      olderr      *error*
       *error*      myerr
)
(vl-load-com)
(setq os (getvar "osmode"))               
(setq v2 (getvar "dimstyle"))
(setq v3 (getvar "blipmode"))               
(setvar "osmode" 0)                        
(setvar "cmdecho" 0)                     
(setvar "blipmode" 0)                     
(graphscr)                              
(setq en (entsel "\nChoose chamfer edge!"))
(setq en_data (entget (car en)))
(setq pt0 (list (car (cadr en)) (cadr (cadr en))))
(setq      endpt1 (list (car (cdr (assoc 10 en_data)))
                  (cadr (cdr (assoc 10 en_data)))
            )
)
(setq      endpt2 (list (car (cdr (assoc 11 en_data)))
                  (cadr (cdr (assoc 11 en_data)))
            )
)
(setq endpt1x (car (cdr (assoc 10 en_data))))
(setq endpt1y (cadr (cdr (assoc 10 en_data))))
(setq endpt2x (car (cdr (assoc 11 en_data))))
(setq endpt2y (cadr (cdr (assoc 11 en_data))))
(setq dinpt (list endpt1x endpt2y))
(setq cl (distance endpt1 dinpt))
(setq cl3 (distance endpt2 dinpt))
(setvar "dimdec" 2)
(setvar "dimzin"
(if (equal cl cl3 0.05)
   (progn
       (setvar "dimzin"
   (setq cjsl (getstring "\nInput Quantity!"))
   (setq cl2 (rtos cl ))
   (setq ggg "-")
   (if (or (= cjsl "") (= cjsl nil))
       (setq ggg "")
   )
   (setq txt (strcat cjsl ggg "C" cl2))
   (setq pt3      (list (car (osnap pt0 "endpoint"))
                     (cadr (osnap pt0 "endpoint"))
               )
   )                                       
   (setq pt4      (list (car (osnap pt0 "midpoint"))
                     (cadr (osnap pt0 "midpoint"))
               )
   )                                       
   (setq pt3x (car pt3))
   (setq ang1 (angle pt4 pt3))      
   (vl-cmdf "ortho" "off")
   (setq pt5 (getpoint pt3 "\nChoose placement")) ;
   (setq pt6 (list (car pt5) (cadr pt5))) ;
   (setq pt6x (car pt6))                ;
   (setq l (distance pt3 pt6))      ;
   (setq pt7 (polar pt3 ang1 l))
   (setq ang2 (cond ((> pt6x pt3x) 0)
                      ((< pt6x pt3x) pi)
                      (t 0)
                )
   )
   (setq l1 (strlen txt))
   (setq n (getvar 'dimscale))
   (setq l2 (* l1 n 2))
   (setq th (* 3 n))
   (setq pt8 (polar pt7 ang2 l2))
   (if (not (tblsearch "LAYER" "dim"))
       (vl-cmdf "layer" "m" "dim" "c" "7" "" "l" "continuous" "" "")
   )
   (setvar "clayer" "dim")
   (vl-cmdf "pline" pt3 pt7 pt8 "")
   (setq pt9 (osnap pt8 "midpoint"))
   (setq pt10 (polar pt9 (/ pi 2) (/ th 2)))
   (if (not (tblsearch "style" "gb"))
       (vl-cmdf "style" "GB" "gbenor,gbcbig" "" "1" "" "" "")
   )
   (vl-cmdf "text" "s" "gb" "j" "m" pt10 th 0 txt)
   )
   (progn
       (setvar "dimzin"
   (setq cl2 (rtos cl))
   (setq cl4(rtos cl3))
   (setq ggg "x")
   (setq txt (strcat cl2 ggg cl4))
   (setq pt3      (list (car (osnap pt0 "endpoint"))
                     (cadr (osnap pt0 "endpoint"))
               )
   )                                        ;
   (setq pt4      (list (car (osnap pt0 "midpoint"))
                     (cadr (osnap pt0 "midpoint"))
               )
   )                                        ;
   (setq pt3x (car pt3))
   (setq ang1 (angle pt4 pt3))      ;
(vl-cmdf "ortho" "off")
   (setq pt5 (getpoint pt3 "\nChoose placement")) ;
   (setq pt6 (list (car pt5) (cadr pt5))) ;
   (setq pt6x (car pt6))                ;
   (setq l (distance pt3 pt6))      ;
   (setq pt7 (polar pt3 ang1 l))
   (setq ang2 (cond ((> pt6x pt3x) 0)
                      ((< pt6x pt3x) pi)
                      (t 0)
                )
   )
   (setq l1 (strlen txt))
   (setq n (getvar 'dimscale))
   (setq l2 (* l1 n 2))
   (setq th (* 3 n))
   (setq pt8 (polar pt7 ang2 l2))
   (if (not (tblsearch "LAYER" "dim"))
       (vl-cmdf "layer" "m" "dim" "c" "7" "" "l" "continuous" "" "")
   )
   (setvar "clayer" "dim")
   (vl-cmdf "pline" pt3 pt7 pt8 "")
   (setq pt9 (osnap pt8 "midpoint"))
   (setq pt10 (polar pt9 (/ pi 2) (/ th 2)))
   (if (not (tblsearch "style" "gb"))
       (vl-cmdf "style" "GB" "gbenor,gbcbig" "" "1" "" "" "")
   )
   (vl-cmdf "text" "s" "gb" "j" "m" pt10 th 0 txt)

   )
)
(vl-cmdf "-dimstyle" "r" v2)
(setvar "blipmode" v3);
(PRINT)
(prompt "Chamfer dimension")
(myerr)
(princ)                              ;
)
(defun myerr (msg)
(setvar "osmode" os)
(setq *error* olderr)
(princ)

)

ReMark 发表于 2022-7-6 00:05:07

我错了。他确实有一些密码。作者是谁?

lucas3 发表于 2022-7-6 00:08:36

 
 
帮助别人可以让自己快乐,Autolisp不是我擅长的,但我谦恭地问!

Lee Mac 发表于 2022-7-6 00:12:12

 
不幸的是,我认为你说得对:
 
http://bbs.mjtd.com/thread-99808-1-1.html
对于作者而言,该标题似乎已被删除:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;                                                         ;;;
;;;ShangHai zhiren Mould Industry Co. Ltd.                ;;;
;;;                  xiangzanyang(aug,2012)             ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

ReMark 发表于 2022-7-6 00:13:53

我想知道OP到底在帮谁?
 
卢卡斯:你有兴趣学习编写自己的lisp程序吗?

lucas3 发表于 2022-7-6 00:19:38

 
李,你说得对!我删除了多余的内容是为了更好的查看,原来的代码有一些中文,可能会造成乱码,所以我编辑!
页: [1] 2
查看完整版本: 倒角尺寸!如何做?