sbwdx 发表于 2019-6-22 18:25:44

求大神指点下

本帖最后由 sbwdx 于 2019-7-12 15:43 编辑

指定图上两点,由两点中点坐标,生成构造线(生成构造线颜色为红色)麻烦各位大神了。

cad890 发表于 2019-6-24 11:56:50

随手编的,不用客气。
(defun c:refline(/ pt1 pt2 mpt ang v)
(setq pt1 (getpoint "输入起点:"))
(setq pt2 (getpoint pt1 "输入终点:"))
(setq mpt (mapcar (function (lambda (x y) (/ (+ x y)2.0))) pt1 pt2))
(setq ang (+ (angle pt1 pt2) (/ pi 2))
      v (polar '(0 0 0) ang 1))
(entmake (list '(0 . "XLINE") '(100 . "AcDbEntity") '(62 . 1)'(100 . "AcDbXline") (cons 10 mpt) (cons 11 v)))
(princ)
)

sbwdx 发表于 2019-6-24 14:02:15

cad890 发表于 2019-6-24 11:56
随手编的,不用客气。

求大神帮忙解决
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=179773&fromuid=7325415
(出处: 明经CAD社区)
大神去这里,我好给你明经币

sbwdx 发表于 2019-7-12 15:35:12

cad890 发表于 2019-6-24 11:56
随手编的,不用客气。

发现个BUG,就是旋转坐标系以后,就出问题了,能优化吗?

taoyi0727 发表于 2019-7-12 15:55:27

(defun c:refline (/ ang mpt pt1 pt2 v)
        (setq pt1 (getpoint "输入起点:"))
        (setq pt2 (getpoint pt1 "输入终点:"))
        (setq mpt (mapcar (function (lambda (x y) (/ (+ x y)2.0))) pt1 pt2))
        (setq
                ang (+ (angle pt1 pt2) (/ pi 2))
                v (polar '(0 0 0) ang 1)
        )
        (entmake (list
                                               '(0 . "XLINE")
                                               '(100 . "AcDbEntity")
                                               '(62 . 1)
                                               '(100 . "AcDbXline")
                                               (cons 10 (trans mpt 1 0))
                                               (cons 11 (trans v 1 0))
                                       )
        )
(princ)
)

sbwdx 发表于 2019-7-12 16:19:02

taoyi0727 发表于 2019-7-12 15:55
(defun c:refline (/ ang mpt pt1 pt2 v)
        (setq pt1 (getpoint "输入起点:"))
        (setq pt2 (getpoint pt ...

6666666666,厉害

taoyi0727 发表于 2019-7-12 16:22:39

用CAD画图都只是画平面画三维一般不会用CAD了
你要视图转换的话都要特别说明没说明的不会考虑视图问题

sbwdx 发表于 2019-7-12 16:26:27

taoyi0727 发表于 2019-7-12 16:22
用CAD画图都只是画平面画三维一般不会用CAD了
你要视图转换的话都要特别说明没说明的不会考虑视图问 ...

对的
页: [1]
查看完整版本: 求大神指点下