AutoCAD二次开发_从入门到放弃

在建筑与设计行业中,CAD有着非常广泛的应用,而其中的很多基本操作无法满足实际需求,容易产生大量的重复性的操作,这种重复性的操作违背了程序设计的思维,因此诞生了入门CAD二次开发的想法。

跟大多数程序设计语言一样,在了解CAD二次开发所应用的语言、开发环境后,购买了一本《AutoCAD二次开发实用教程》,也将基于这本书记录自己的入门过程。

CAD二次开发所应用的是Visual LISP的编译环境,是CAD自带的开发工具,这种语言也是比较古老的高级编程语言,曾经在网上见过一个大神的代码,用于计算多条直线长度求和的问题,这个lsp文件应该也是基于LISP语言的,大概长这个样子:

(princ "\n程序:统计线段长度 命令:te")(defun C:TE (/ CURVE TLEN SS N SUMLEN) (vl-load-com) (setq SUMLEN 0) (setq SS (ssget '((0 . "CIRCLE,ELLIPSE,LINE,*POLYLINE,SPLINE,ARC")))) (setq N 0) (repeat (sslength SS) (setq CURVE (vlax-ename->vla-object (ssname SS N))) (setq TLEN (vlax-curve-getdistatparam CURVE (vlax-curve-getendparam CURVE))) (setq SUMLEN (+ SUMLEN TLEN)) (setq N (1+ N))) (setq sumlen(/ sumlen 1000))(princ (strcat "\n共选择 " (itoa (sslength SS)) " 条线段. 线段总长: "(rtos SUMLEN 2 3) "米."))(princ) )

数据类型·表

AutoLISP语言的数据类型看起来比较笨重,没有Python那种直观的感觉,倒是有一种VB语言的风格在里面:

  • INT 整数
  • REAL 实数
  • SYM 符号
  • STR 字符串
  • LIST 表
  • FILE 文件描述符
  • SUBR AutoLISP内部函数
  • PICKSET AutoCAD选择集
  • ENAME AutoCAD实体名
  • PAGETB 函数分页表

待更新……

你可能感兴趣的:(CAD)