sbwdx 发表于 2019-9-17 14:16:32

焊缝符号

来自明经的源码,网站上找的,请问可以增加输入高度后,生成的焊缝控制方向吗?
(defun C:hf (/ osold)
   (setq osold (getvar "osmode"))
   (setvar "CMDECHO" 0)
      (setlayer_lsp "HF" 136);检查焊缝图层是否存在,没有则新建图层
   (setq pt1 (getpoint "\n输入焊缝的起点 :")
      pt2 (getpoint "\n输入焊缝的终点:")
      h (getint "\n输入焊缝高度的高度:")
      l (distance pt1 pt2)
      n (fix (/ l h))
      ang (angle pt1 pt2)
      pt3 pt1)
   (setvar "osmode" 0)
   (command ".pline" pt1 "a")
   (repeat (- n 2)
      (command "ce" (setq pt4 (polar pt3 ang h)) "a" "-120")
      (command "d" pt3 pt4)
      (setq pt3 pt4)
   )
   (command "ce" (setq pt4 (polar pt3 ang h)) "a" "-180" "")
      (setvar "osmode" osold )
   (princ)
)
(defun setlayer_lsp(LAY CLR)
(if (=(tblobjname "LAYER" LAY) nil)
    (entmake (list'(0 . "LAYER")'(100 . "AcDbSymbolTableRecord")'(100 . "AcDbLayerTableRecord")
       '(6 . "CONTINUOUS")(cons 62 CLR)'(70 . 0)(cons 2 LAY)))
    (entmod(subst(cons 62 CLR)(assoc 62(entget(tblobjname "LAYER" LAY)))(entget(tblobjname "LAYER" LAY))))
   ) (setvar "CLAYER" LAY)
)

Andyhon 发表于 2019-9-17 14:41:40

没能理解
控制方向 本就是依着 焊缝的起点 焊缝的终点

sbwdx 发表于 2019-9-17 14:57:09

Andyhon 发表于 2019-9-17 14:41
没能理解
控制方向 本就是依着 焊缝的起点 焊缝的终点

就是画完以后,焊缝符号在,红线的上方或者下方,默认就是只能在上方,不能在下方,用的时候还要,镜像一下,有点麻烦

sbwdx 发表于 2019-9-17 15:01:18

sbwdx 发表于 2019-9-17 14:57
就是画完以后,焊缝符号在,红线的上方或者下方,默认就是只能在上方,不能在下方,用的时候还要,镜像一 ...

这样的控制

start4444 发表于 2019-9-17 15:29:37

最简单有效的办法就是在最后加一句镜像命令,默认不镜像,按y镜像
页: [1]
查看完整版本: 焊缝符号