天圆液压产品中心
AutoCAD缸筒开拓器材综述
(setq xe(- x (/ a 2.0))) (setq pO(getpoint "Enter start point:")) (setq a(getrcal "a=")) (command "pline" p0 "a" "ce" ce p1 "1" p2 p3 "c") {AcDbLine * pline=new AcDbLine(Pt1,Pt2): pLine->close();} 4 VBA (Visual Basic for Application)和VB 作为从AutoCADR14之后提供的二次开拓器材VBA(VB),使盼愿CAD编程的人有一个更好的选择,用户不必进修ADS,ARX和AutoLisp就可以用VBA(VB)来开拓AutoCAD,Autodesk公司从R14开始内置了VBA开拓器材,同时提供了适于VBA(VB)开拓的ActiveXAutomation工具模子。VBA(VB)的首要特点如下: VBA最早是内嵌在Ofice97中的一种编程说话,它易学易用,成果强盛。以是Autodesk公司从Rl4之后把它也嵌入了AutoCAD中。 VBA(VB)可以操作ActiveX Automation提供的接口会见和节制AutoCAD全部图形工具和非图形工具,而且可以会见这些工具的要领和属性。 VBA(VB)数据范例富厚、界面友爱。 VBA是内嵌在AuLoCAD中的一种编程说话,对平台有依靠性,但VB对此有改进。 正如ADS必要C说话做基本一样,VBA(VB)开拓AutoCAD也必需以认识VB说话为条件。 这里同样给出一段直线的绘制措施。用VBA体譬喻下: Dim stpt, enpt As Variant Dim prompt1,prompt2 As String Dim startpoint (1 To 3) As Double Dim endpoint (1 To 3) As Double Dim lineobj As Acadline prompt1 = NL & “出发点:” prompt2 = NL & “终点:” stpt = ThisDrawing.Utility.GetPoint(,prompt1) enpt = ThisDrawing.Utility.GetPoint(stpt, prompt2) startpoint(1) = stpt(0) startpoint(2) = sptt(1) startpoint(3) = stpt(2) endpoint(1) = enpt(0) endpoint(2) = enpt(1) endpoint(3) = enpt(2) Set lineobj = ThisDrawing.ModelSpace.AddLine(startpomt,endpoint) 用VB对AutoCAD开拓与VBA的首要区别是当前图形工具的引用要领差异。VB中工具的得到要行使Getobject()和CreatObject()函数,从而有用地启动和切换AutoCAD窗口,详细代码如下: Public acadDoc As Object Public ModSpace As Object Public acadApp As Object On Error Resume Next '堕落处理赏罚 Set acadlApp = Get Object(,"AutoCAD.Application") If Err Then Err.Clear Set =cadlApp=CreateObject("AutoCAD.Application") If Err Then MsgBox Err.Description Exit sub End If End If AcadApp.Visible=True Set acadDoc = acadApp.ActiveDocument Set ModSpace = acadDoc.ModelSpace (setq ye(+ y (sqrt(- (* r r) (*a a 0.25))))) (setq b(getreal "b=')) 接下来绘制直线的代码与VBA基内情同,只要把ThisDrawing换成acadDoc即可。 总之,通过以上说明可以看出AutoLisp如故是AutoCAD的根基开拓本领,它适十一样平常开拓者用于较为简朴交互性措施的开拓。ADS将慢慢被更为完美的ARX所代替。VBA则成为AutoCAD用户二次开拓的另一支生力军。AutoCAD提供的开拓本领让种种开拓者都能有得当于本身的开拓器材。 pBlockTable->close(); AcdbCurDwg()->getBlockTable(pBlockTable.AcDb::kForRead); 跟着CAD技能的成长,CAD规模的支挣软件也越来越多,大缸筒加工,海表里很多公司相继推出了其主导产物,Autodesk公司是今朝天下上较量乐成的CAD规模的开拓商,其开拓的AutoCAD一向是CAD市场中的主流产物,跟着AutoCAD的日益遍及,在其长举办二次开拓的器材也相继由该公司推出。很多企业购进AutoCAD软件,并非只是用作“取代图板”。只有真正地在其上实现了二次开拓,才气充实验显现AutoCAD浸染。到今朝为止,Autodesk公司提供了4种首要的二次开拓器材:AutoLisp(VisuaLisp)、ADS、ObjectARX及VBA(VB)。本文就此向各人别离做一先容。
1 AutoLisp说话
Lisp说话是一种表处理赏罚说话,是普及应用于人工智能的说话。AutoLisp说话完全嵌套在AutoCAD内部,同AutoCAD有机地团结成一体它既具备一样平常高级说话的根基布局和成果,又具备一样平常高级说话所没有的图形处理赏罚手段AutoLisp可直接挪用险些所有AutoCAD的呼吁,从而举办AutoCAD的二次开拓。操作AutoLisp开拓AutoCAD的一个典规范子就是实现参数化画图的措施计划。
AutoLisp具有如下特点:
AutoLisp说话是一种以表明方法运行于AutoCAD内部的表明性措施计划说话。
AutoLisp没有语句观念或其他语法布局,措施很是简明。它的所怀孕分都是以函数情势给出的。执行AutoLisp措施就是执行一些函数,然后再挪用其他函数。
AutoLisp把数据和措施同一表达为表布局,故可把措施看成数据来处理赏罚,也可把数据看成措施来执行。
AutoLisp说话中的措施运行进程就是对函数的求值进程,在对函数求值的进程中实现函数的成果。
AutoLisp说话的首要节制布局回收递归方法。递归方法的行使,使措施简朴易懂。
VisuaLisp是AutoLisp的成长,它操作可视化的编程情形为进修减小难度。它的特点可以归纳出十几条,但根基上是可视化与Autolisp的团结,不再列出。
这里给出用AutoLisp绘制键槽的一个小措施,可以看出其简明性:
(defun C:LWX()
void myLine(AcGcPoint3d.AcGePoint3d Pt2) pBlockTableRecord->appendAcDbEntity(lineld,pline): (setq p3(list x (- y b))) (sctq ce(list xe ye)) AcDbBlockTable * pBlockTable: (setq x(car p0) y(cadr p0)) AcDbObjectld lineld; (setq r(getreal "r=")) (责任编辑:admin) |
- [ 18-11-06 ]换向阀中位性液压站能特点及应用留意
- [ 18-10-09 ]公制螺纹、BS液压油缸PP螺纹ED密封油
- [ 18-09-11 ]很是具体的液液压站压阀块计划履历总
- [ 18-09-11 ]液压节液压站制技能的革命
- [ 16-09-14 ]联轴珩磨管器选择方法
- [ 16-07-17 ]怎样避免缸筒液压站冲击危害?
- [ 16-07-17 ]液压动力单元液不锈钢缸筒压齿轮泵的