zoukankan      html  css  js  c++  java
  • AutoLISP板圆三视图

    AutoLISP板圆三视图,代码如下。

    (defun c:test()
      (setvar "cmdecho" 0)
      (setq baspt '(148 105))
      (setq os (getvar "osmode"))
      (setvar "osmode" 0)
      (command "vslide" "LSP_30")
      (setq dd1 (/ (getpoint "\nDD1:") 2))
      (setq dd2 (/ (getpoint "\nDD2:") 2))
      (setq dd3 (/ (getpoint "\nDD3:") 2))
      (setq hh (getdist "\nHH1:"))
      (setq h2 (- hh (getdist "\nHH2:")))
      (redraw)
      (layset)
      (setq cen (polar baspt p1 (* dd1 1.4)))
      (setvar "clayer" "str")
      (command "circle" cen dd1)
      (command "circle" cen dd2)
      (command "circel" cen dd3)
      (command "circle" cen (- dd1 1))
      (setq pp1 (polar cen pi (+ dd1 3)))
      (setq pp2 (polar cen 0 (+ dd1 3)))
      (setq pp3 (polar cen (/ pi 2) (+ dd1 3)))
      (setq pp4 (polar cen (* pi 1.5) (* dd1 3)))
      (setvar "clayer" "cen")
      (command "line" pp1 pp2 "")
      (command "line" pp3 pp4 "")
      (setq pt (polar baspt 0 h2))
      (setq pt1 (polar pt (* pi 1.5) dd2))
      (setq pt2 (polar pt1 0 h2))
      (setq pt3 (polar pt2 (* pi 1.5) (- dd1 dd2 1)))
      (setq pt4 (polar (polar pt3 (* pi 1.5) 1) 0 1))
      (setq pt5 (polar pt4 0 (- hh h2 1)))
      (setq pt6 (polar pt5 (/ pi 2) (* dd1 2)))
      (setq pt7 (polar pt4 (/ pi 2) (* dd1 2)))
      (setq pt8 (polar pt3 (/ pi 2) (- (* dd1 2) 2)))
      (setq pt9 (polar pt2 (/ pi 2) (* dd2 2)))
      (setq pt10 (polar pt2 (/ pi 2) (* dd2 2)))
      (setvar "clayer" "str")
      (command "pline" pt1 pt2 pt3 pt4 pt5 pt6 pt7 pt8 pt9 pt10 "c")
      (setq pa1 (polar pt pi 3))
      (setq pa2 (polar pt 0 (+ hh 2)))
      (setvar "clayer" "cen")
      (command "line" pa1 pa2 "")
      (setq b1 (polar pt (/ pi 2) dd3))
      (setq b2 (polar b1 0 hh))
      (setq b3 (polar pt (* pi 1.5) dd3))
      (setq b4 (polar b3 0 hh))
      (setvar "clayer" "str")
      (command "line" b1 b2 "")
      (command "line" b3 b4 "")
      (draw_hat)
      (draw_dim)
      (setvar "cmdecho" so)
      (princ "\n------>>LSP_30<<------")
      (prin1)
      )
    (defun draw_hat()
      (setq mid1 (polar pt2 (angle pt2 pt5) (/ (distance pt2 pt5) 2)))
      (setq mid2 (polar pt9 (angle pt9 pt6) (/ (distance pt9 pt6) 2)))
      (setvar "hpname" "u")
      (setvar "hpang" (/ pi 4))
      (setvar "hpspace" 3)
      (setvar "clayer" "hat")
      (command "bhatch" mid1 mid2 "")
      )
    (defun draw_dim()
      (setvar "clayer" "dim")
      (command "dimlinear" pt8 pt6 (polar pt6 (/ pi 2) 8))
      (command "dimlinear" pt10 pt6 (polar pt6 (/ pi 2) 16))
      (command "dimlinear" b1 b3 "t" "%%c<>" (polar b1 pi 8))
      (command "dimlinear" pt1 pt10 "t" "%%c<>" (polar b1 pi 16))
      (command "dinlinear" pt5 pt6 "t" "%%c<>" (polar pt5 0 8))
      )
    (defun layset()
      (command "layer" "n" "str,cen,hid,hat,txt,dim" "c" 1 "str" "c" 2 "cen" "c" 4 "hid" "c" 5 "hat" "c" 6 "txt" "c" 3 "dim" "")
      (setq key (tblsearch "ltype" "center"))
      (if (= key nil) (command "linetype" "1" "center" "acadiso" ""))
      (setq key (tblsearch "ltype" "hidden"))
      (if (= key nil) (command "linetype" "1" "hidden" "adadiso" ""))
      (command "layer" "it" "center" "cen" "it" "hidden" "hid" "")
      )

    代码完。

    这个有点多,错误不好找。

    作者:codee
    文章千古事,得失寸心知。


  • 相关阅读:
    经典机器学习算法总结
    从0开始学Python---01
    Android-Canvas.save() Canvas.restore() 总结
    Android-属性动画原理总结
    设计模式-外观模式
    设计模式-模板方法
    设计模式-装饰者模式
    设计模式-策略模式
    设计模式-工厂方法模式
    设计模式-简单工厂模式
  • 原文地址:https://www.cnblogs.com/bimgoo/p/2502983.html
Copyright © 2011-2022 走看看