王航 发表于 2013-4-22 11:51:38

请各位高手帮忙修改一下螺纹孔的程序,谢谢!

请各位高手帮忙修改一下以下的程序,我想实现最里面的圆置于0层上,颜色随层,请问怎么写?谢谢各位高手的大力援助!

(defun c:lk (/)
(setvar "CMDECHO" 0)
(setq M (getDIST "\n 请输入螺纹规格 M8输入8"))
(if (= M nil) (setq M 8))
(cond
((<= 1.1 M 2) (SETQ c 2 d 1.6))
((<= 2.1 M 2.5) (SETQ c 2.5 d 2))
((<= 2.6 M 3) (SETQ c 3.0 d 2.4))
((<= 3.1 M 4) (SETQ c 4.0 d 3.2))
((<= 4.1 m 5) (SETQ c 5.0 d 4))
((<= 5.1 m 6) (SETQ c 6.0 d 4.8))
((<= 6.1 M 8) (SETQ c 8.0 d 6.4))
((<= 8.1 M 10) (SETQ c 10.0 d 8))
((<= 10.1 M 12) (SETQ c 12.0 d 9.6))
((<= 12.1 M 14) (SETQ c 14.0 d 11.2))
((<= 14.1 M 16) (SETQ c 16.0 d 12.8))
)
(while (SETQ PT (GETPOINT "\n请选取插入点:"))
(setq p1 (polar pt (/ pi -6) (/ c 2))
      p2 (polar pt (/ pi 3) (/ c 2))
      p3 (polar pt 0 (+ (/ c 2) 0.5));比直径长1
      p4 (polar pt pi (+ (/ c 2) 0.5))
      p5 (polar pt (/ pi 2) (+ (/ c 2) 0.5))
      p6 (polar pt (/ pi -2) (+ (/ c 2) 0.5)))
(command "_.CIRCLE" "none" pt (/ d 2) "_.ARC" "none" p2 "C" "none" pt "none" p1)
(command "change" "l" "" "p" "la" "细实线" "")
(command "_.LINE" "none" p3 "none" p4 "" "_.CHPROP" "L" "" "lt" "bylayer" "lts" 1 "")
(command "change" "l" "" "p" "la" "点划线" "")
(command"_.LINE" "none" p5 "none" p6 "" "_.CHPROP" "L" "" "lt" "bylayer" "lts" 1 "")
(command "change" "l" "" "p" "la" "点划线" "")
)
(setvar "CMDECHO" 1)
(princ)
)


王航 发表于 2013-4-22 16:41:29

希望高手伸出援手,谢谢!

lenlenq 发表于 2013-4-22 19:15:24

command方法:在画里面的圆之前加把当前层置为0层
entmake 方法:(entmake (list '(0 . "circle") (cons 10 p) (cons 40 ra)(cons 8 layer)))
layer为0层

王航 发表于 2013-4-23 08:53:54

lenlenq 发表于 2013-4-22 19:15 static/image/common/back.gif
command方法:在画里面的圆之前加把当前层置为0层
entmake 方法:(entmake (list '(0 . "circle") (cons 10...

谢谢您!我试试看。

王航 发表于 2013-4-23 09:18:57

lenlenq 发表于 2013-4-22 19:15 static/image/common/back.gif
command方法:在画里面的圆之前加把当前层置为0层
entmake 方法:(entmake (list '(0 . "circle") (cons 10...

我试了一下,不行,不过还是谢谢您!

wo870711 发表于 2022-2-7 11:22:31

王航 发表于 2013-4-23 09:18
我试了一下,不行,不过还是谢谢您!

大神还需要改么这个,改的话我知道怎么弄了
页: [1]
查看完整版本: 请各位高手帮忙修改一下螺纹孔的程序,谢谢!