码迷,mamicode.com
首页 > 其他好文 > 详细

struct resbuf 结构就象LISP里面的表(

时间:2020-04-18 22:38:25      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:cat   poi   结构   entity   epo   get   make   gets   ons   

struct resbuf 结构就象LISP里面的表((LISP a b)(LISP a b)(LISP a b)(LISP a b).....) 之类的东东,主要是用来做一个对象的DXF组码链表,然后用来给别的涵数生成对象之类的处理,如果是生成对象的话我们可以不用struct resbuf结构来做,直用用对象类来生成啊.例如:

LISP用DXF组码生成一个圆的代码:
(setq Cirlist ‘((0 . "CIRCLE")(100 . "AcDbEntity")(100 . "AcDbCircle")(8 . "0")(40 . 0.8) (10 0 0 0)))
(entmake Cirlist)

ARX用struct resbuf 生成一个圆的代码:
  struct resbuf *Cirlist;
  ads_point PT1={0,0,0};
  Cirlist=acutBuildList(RTDXF0,"CIRCLE",100,"AcDbEntity",100,"AcDbCircle",8,"0",40,0.8,10,PT1,0);
  acdbEntMake(Cirlist);

用ARX的类生成一个圆的代码:
ads_real rad=3.0;
  AcGePoint3d Cpt(0,0,0);
  AcGeVector3d Vec(0,0,1);
  AcDbCircle *nc=new AcDbCircle();
  nc->setCenter(Cpt);
  nc->setRadius(rad);
  AcDbBlockTable *btable;
  acdbHostApplicationServices()->workingDatabase()->getSymbolTable(btable,AcDb::kForRead);
  AcDbBlockTableRecord *brecord;
  btable->getAt(ACDB_MODEL_SPACE,brecord,AcDb::kForWrite);
  brecord->appendAcDbEntity(nc);
  nc->close();
  btable->close();
  brecord->close();

struct resbuf 结构就象LISP里面的表(

标签:cat   poi   结构   entity   epo   get   make   gets   ons   

原文地址:https://www.cnblogs.com/mjgw/p/12728582.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!