yefei812678 发表于 2024-1-5 10:16:03

zmzk 发表于 2024-1-4 10:45


能不能改成 直接在矩形里点就可以   能不能设置线型

cheng199141 发表于 2024-1-7 08:31:23

看看了解哈

yefei812678 发表于 2024-1-7 13:54:01

顶起来啊::'(

newmooooon 发表于 2024-1-9 15:55:49

(defun c:dk( / mydefunction dk_bili dk_min dk_layer)
        (setq dk_bili 0.2 ;引线比例
                        dk_min 50 ;折线最小距离
                        dk_layer "SE_HOLE"
        );;变量设置
        (if (not (tblsearch "LAYER" "SE_HOLE"))
                (progn
                        (entmake (list '(0 . "LAYER")
                                                                '(100 . "AcDbSymbolTableRecord")
                                                                '(100 . "AcDbLayerTableRecord")
                                       '(70 . 0)
                                       '(62 . 201)
                                       '(6 . "Continuous")
                                       '(2 . "SE_HOLE")))
                )
        )
        (defun dk::draw_dk(/ dis dx x y pt2 pt3 dk_distance);(hcl_make_rec p1 p2 "0" 1 40)
;                (setq dk_distance (* (distance pt1 pt0) (- 0.5 dk_bili))
;                                pt2 (point_mid pt0 pt1)
;                                pt2 (polar pt2 (- pi (angle pt0 pt1)) dk_distance)
;                )
                (setq dis (* (min (abs (- (car pt1) (car pt0))) (abs (- (cadr pt1) (cadr pt0)))) dk_bili)
                                dis (max dis dk_min)
                )
                (if (< (car pt0) (car pt1))
                        (setq dx dis)
                        (setq dx (- dis))
                )
                (setq x (+ (car pt0) dx))

                (if (< (cadr pt0) (cadr pt1))
                        (setq dx dis)
                        (setq dx (- dis))
                )
                (setq y (- (cadr pt1) dx)
                                pt2 (list x y)
                )


                (entmake (list
                                        '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") '(100 . "AcDbPolyline") (cons 8 dk_layer)
                                        '(90 . 3) '(43 . 0)
                                        (cons 10 pt0) (cons 10 pt2) (cons 10 pt1)
                                        )
                )
                (if dk_has_rec
                        (dk::make_rec)
                )
        )
        (defun dk::make_rec();(hcl_make_rec p1 p2 "0" 1 40)
                (entmake (list
                                        '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") '(100 . "AcDbPolyline") (cons 8 dk_layer)
                                        '(90 . 4) '(70 . 1) '(43 . 0)
                                        (list 10 (car pt0) (cadr pt0)) (list 10 (car pt0) (cadr pt1))
                                        (list 10 (car pt1) (cadr pt1)) (list 10 (car pt1) (cadr pt0))
                        )
                )
        )
        (defun dk_print_parm( / tip_rec)
                (initget 0 "F")
                (if dk_has_rec
                        (setq tip_rec "有轮廓")
                        (setq tip_rec "无轮廓")
                )
                (princ (strcat "\n【标注洞口】\n当前模式:" tip_rec
                        ))
        )
        (defun mydefunction(/ pt0 pt1)
                ;;begin mydefunction
                (dk_print_parm)
                (while (setq pt0 (getpoint "\n第一点:"))
                        (cond
                                ((= "F" pt0)
                                        (setq dk_has_rec (not dk_has_rec))
                                )
                                (t
                                        (if (setq pt1 (getpoint pt0 "\n第二点:"))
                                                (progn
                                                        (dk::draw_dk)
                                                )
                                        )
                                )
                        )
                        (dk_print_parm)
                )
        )
        (setvar 'cmdecho 0)
        (mydefunction)
        (setvar 'cmdecho 1)
        (prin1)
)

yefei812678 发表于 2024-1-16 16:31:49

没有人支持下嘛?

yefei812678 发表于 2024-1-17 09:06:47


没有人支持下嘛?
页: 1 [2]
查看完整版本: 求一个单纯的洞口线插件