应用Autolisp绘制太极图案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

;应用Autolisp绘制太极图案

;程序源代码:

(defun C:yinyang(/ origin radius i-radius half-r origin-x origin-y os)

(setq os (getvar "OSMODE")) ;把捕捉当前值赋给os

(setvar "OSMODE" 0) ;然后设置0,关闭捕捉功能

(setq origin (getpoint "\nOrigin of inyn sign:")) ;输入太极图案中心点

(setq radius (getdist "\nRadius of inyn sign:" origin)) ;输入太极图案外圆直径值

(setq i-radius (getdist "\nRadius of internal circle:" origin)) ;输入太极图案中两小圆的直径值

(if (> i-radius (/ radius 4)) (setq i-radius (/ radius 4))) ;限制小圆半径值的取值范围(setq half-r (/ radius 2))

(setq origin-x (car origin)) ;取中心点的X坐标值

(setq origin-y (cadr origin)) ;取中心点的Y坐标值

(command "CIRCLE" origin radius) ;画大圆

(command "ARC" ;圆圆弧命令

"C" ;指定圆心(这些都应该是掌握AutoCAD基本制图应具备的)

(list origin-x (+ origin-y half-r)) ;圆弧起点

(list origin-x (+ origin-y radius)) ;圆弧终点

origin

)

(command "ARC"

"C"

(list origin-x (- origin-y half-r))

(list origin-x (- origin-y radius))

origin

)

(command "CIRCLE" ;此处为绘制小圆(此程序把两小圆定在竖直线上)(list origin-x (+ origin-y half-r)) ;小圆的圆心

i-radius

)

(command "CIRCLE" ;同上

(list origin-x (- origin-y half-r))

i-radius

)

(setvar "OSMODE" os) ;恢复之前的捕捉状态

(princ) ;静默退出

)

;复制此程序代码在Visual LISP控制台中运行后,直接在

;Visual LISP控制台中输入"(c:yinyang)"运行或窗口切

;换到AutoCAD绘图界面在命令区输入"yinyang"即可。

;此程序还不够完美,没有把图形的阴阳黑白表达出来,

;目前本人学到这个状态,后续加深学习把图形填充出完;美效果

;效果图如下:

相关文档
最新文档