好好-MEN 发表于 2022-7-21 22:21:00

绘制岩棉的程序,但是绘制完成后的厚度方向向下,怎么能改成厚度方向向上???

绘制岩棉的程序,但是绘制完成后的厚度方向向下,怎么能改成厚度方向向上???
(defun c:ym (/ acadobj ang ang_fx doc h i lst mark modelspace n plineobj points pt_end pt_start pt1 pt2 pt3 pt4 pt5 ptlist rad)
(setvar "CMDECHO" 0)
(vl-cmdf "undo" "be")
(setq acadObj (vlax-get-acad-object))
(setq doc (vla-get-ActiveDocument acadObj))
(setq layers(vla-get-Layers doc))
(setq modelSpace (vla-get-ModelSpace doc))
(setq pt_start (getpoint "\n输入插入基点:"))
(setq pt_end (getpoint pt_start "\n输入岩棉的终点:"))
(setq ang (angle pt_start pt_end))
(while (null mark)
    (setq h(getdist pt_end "\n输入岩棉的厚度:"))
    (if (null h) (setq h 100))
    (setq ang_fx(angle pt_start (cadr(grread 5))))
    (setq mark t)   
)
(setq n (fix (/ (distance pt_start pt_end) (* 0.2 h))))
(setq rad (/ (distance pt_start pt_end) n 2))
(setq pt1 pt_start ptlist '() lst '() i 0)
(if (and (> ang_fx ang) ( ang_fx ang) (< ang_fx (+ ang pi)))
    (repeat n
      (vla-SetBulge plineObj i 0.42)(setq i(+ i 2))
      (vla-SetBulge plineObj i -0.42)(setq i(+ i 1))
      (vla-SetBulge plineObj i -0.42)(setq i(+ i 2))
      (vla-SetBulge plineObj i 0.42)(setq i(+ i 2))
    )
    (repeat n
      (vla-SetBulge plineObj i -0.42)(setq i(+ i 2))
      (vla-SetBulge plineObj i 0.42)(setq i(+ i 1))
      (vla-SetBulge plineObj i 0.42)(setq i(+ i 2))
      (vla-SetBulge plineObj i -0.42)(setq i(+ i 2))
    )
)
(if (not (tblobjname "layer" "F-ANNO-HATH"))
    (progn
      (setq newlayerobj(vla-add layers "F-ANNO-HATH" ))
      (vla-put-Color newlayerobj 254)
      (vla-put-Linetype newlayerobj "Continuous")
      (vla-put-Lineweight newlayerobj acLnWt015)
      (vla-put-Description newlayerobj "填充-不灰化")
    )   
)
(vla-put-Layer plineObj "F-ANNO-HATH")
(vl-cmdf "undo" "e")
(prompt "\n已完成岩棉绘制")
(princ)
)
(prompt "\n已成功加载岩棉绘制程序,快捷键【YM】")
(princ)

好好-MEN 发表于 2022-7-23 11:26:00

顶起!!!!!!!
页: [1]
查看完整版本: 绘制岩棉的程序,但是绘制完成后的厚度方向向下,怎么能改成厚度方向向上???