微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题高级语言与AutoCAD的数据传送
栏目软件操作与技巧
作者张家港史渊
发布1993-02-19
  实现高级语言与AutoCAD的数据传输,要借助于数据文件的形式,利用高级语言的文件处理功能,将输入或计算求得的数据组织成便于AutoCAD读取的整齐形式,然后利用READ-LINE函数读出数据,再利用COMMAND命令完成所需求的图形。
  程序1的例子是一个BASIC程序,由用户告知所画的图形是折线(以“L”表示)还是圆(以“C”表示),然后将有关数据组织成顺序文件(如程序2所示),再利用程序3的AtuoLISP程序画出折线或圆。
  程序1 BASIC程序
  10 CLS
  20 OPEN"cad.dat"FOR OUT PUTAS#1
  30 READM$,A1,A2,A3,A4,A5,A6
  40 IF M$="END"THEN70
  50 PRINT#1,"((m";CHR$(34);M$,CHR$(34),")(p1(";A1;"";A2;"))(p2("A3;"";A4;))(p3(";A5;"";A6;")))"
  60 GOTO 30
  70 CLOSE#1
  80 END
  90 DATA L,1,2,3,4,5,1
  100 DATA c,1,2,3,4,5,1
  110 DATA END
  程序2顺序文件内容
  ((m"l")(p1(12))(p2(34))(p3(51)))((m"c")(p1(12))(p2(34))(p3(51)))
  程序3AutoLisp程序
  (defun draw()
  (setqf(open"cad.dat""r")
  (setq data(read-linef))
  (while(/=datanil)
  (setqp(readdata))
  (cond((=(cadr(assoc'mp))"l")
  command"line"(cadr(assoc'plp))
  (cadr(assoc'p2p))(cadr(assoc'p3
  p))'0))
  ((=cadr(assoc'mp))"c")
  (command"circle""3p"
  (cadr(assoc'plp))(cadr
  (assoc'p2p))(cadr(assoc'p3p))))
  )
  (setq data(read-linef))
  )
  (setq f(closef)