kkdolphin 发表于 2020-8-15 08:49:25

本帖最后由 kkdolphin 于 2020-8-15 09:05 编辑

要CAD2014以上才能用吧。有一个问题,我指定点,不一定要开对象捕捉,因为有时候非DWG的图片没有点的,在图片上也能用。第三个点要在第二个点所作的垂线上。如果有原码lISP就更好,没有也可以。

kkdolphin 发表于 2020-8-15 08:55:14

本帖最后由 kkdolphin 于 2020-8-15 09:03 编辑

可以参考下面这个程序,有取整,只是这个程序有几个问题,它缺少了自动判断相连两条边是否垂直,要输入旋转角度,第二个没有回退,第三精度是个位,第四个连成的是一条条直线。(defun c:xhfw(/ ang1 dis1 mode pt1 pt2 while_if1)
      (vl-load-com)
      (initget 1)
      (setq pt2 (getpoint "\n指定第一点:"))
      (setq mode 1)
      (setvar "CMDECHO" 0)
      (vl-cmdf "UNDO" "be")
      (while t
                (setq pt1 pt2)
                (if (not (setq ang1 (getangle pt1 "\n指定旋转角度<0>:")))
                        (setq ang1 0)
                )
                (setq while_if1 t)
                (while while_if1
                        (initget "Z")
                        (setq dis1 (getdist pt1 (strcat "\n指定直线长度:")))
                        (cond
                              ((not dis1)
                                        (setq dis1 2000)
                                        (setq while_if1 nil)
                              )
                              ((equal dis1 "Z")
                                        (setq mode (- 11 mode))
                              )
                              (t
                                        (setq while_if1 nil)
                              )
                        )
                )
                (setq dis1 (* mode (fix (+ 0.5 (/ dis1 mode 1.0))))
                        pt2 (polar pt1 ang1 dis1)
                )
                (entmakex (list '(0 . "LINE") (cons 10 (trans pt1 1 0)) (cons 11 (trans pt2 1 0))))
      )
      (vl-cmdf "UNDO" "e")
      (setvar "CMDECHO" 1)
      (setq *error* $orr)
      (princ)
)
(princ "\n:xhfw。")
(princ)。
补充说明:1,它的开始选择直线是符合要求的。2,它可以选点也可以不选点画图。3,过程中开动态捕捉,能显示作图的点与上一点的距离。

xvjiex 发表于 2020-8-15 09:07:24

本帖最后由 xvjiex 于 2020-8-15 09:23 编辑

软件没有开捕捉,你再试试。捕捉你可以自己设定(按f3键)。第三个点在第二个点所作的垂线上,如果不在垂直线上,它会自动移到垂直线位置(不是我开捕捉,是软件自动帮你定位到垂直点上),我们都再试试。你可以在图片上测试。

xvjiex 发表于 2020-8-15 09:48:22

完善后给你源码

kkdolphin 发表于 2020-8-15 13:39:04

本帖最后由 kkdolphin 于 2020-8-15 14:01 编辑

还有3个问题:1.在低版本(低于CAD2014)输入命令,显示:no function definition: COMMAND-S.能否解决.
2,回车结束后,不要自动闭合,形成一段连续的多段线就可以。很多时候房屋相互垂直部分最后并不闭合
3,精度能否一个选择,不常用的,精度位数为1。
完善后再给你设置最佳答案。辛苦了:handshake。

xvjiex 发表于 2020-8-15 15:15:54

本帖最后由 xvjiex 于 2020-8-15 15:42 编辑

已经更新。1.不知道你的版本?请再测试。2.已经取消自动闭合的功能。3.精度已经开出对话框,用户自己输入。请到19楼免费下载测试。

kkdolphin 发表于 2020-8-15 17:25:16

谢谢,已经解决了。很好。辛苦了。方便的时候给我源码吧。

xvjiex 发表于 2020-8-15 18:25:59

已经更新为源码,请免费下载。感谢采纳!

kkdolphin 发表于 2020-8-15 23:28:51

xvjiex 发表于 2020-8-15 18:25
已经更新为源码,请免费下载。感谢采纳!
能否方便增加一个功能:除了选点选确定长度,还可以自己输入长度,因为今晚试过,有些房屋要加建1000mm的护栏,但是原图没有,需要自行输入。

xvjiex 发表于 2020-8-16 08:19:51

这个有点麻烦,不仅是输入距离,还要方向。围墙可能不全是直角弯吧?不知道围墙的工作量大不大,你再考虑一下是否需要再花费开发新功能。
页: 1 2 [3] 4
查看完整版本: 斜着画房屋