บทความ

สร้าง Shotcut key สำหรับ เรียกใช้ Javascript

รูปภาพ
การสร้าง Shotcut key เป็นวิธีที่ทำให้การทำงานใน CAD เป็นไป อย่าง รวดเร็ว เช่น กด Ctrl+<อักษร> ก็จะได้เรียกคำสั่ง วิธีนี้ Autodesk แนะนำมาแทนวิธีเดิมที่ใช้ Keyboard แล้ว Enter วิธีทำให้เรียกที่ Manage->Cui เลือก ที่ command ด้าน ล่างกลาง เลือก new Command แล้วใส่ คำสั่ง ^C^C หมายถึงกด ESC ; เป็น Enter เวลาใส่ Path ของ ไฟล์ เลือก แบบที่ไม่มี ช่องว่างจะ ดีสุด และ ใช้ / แทน \ เมื่อทำเสร็จแล้ว กดที่ Tree ของคำสั่ง แล้ว ลาก คำสั่งไปใส่ใน Keyboard shotcut กดที่ Keyboard คำสั่งใหม่ที่ใส่เข้าไป และกดเปลี่ยน Keyboard เป็นตามต้องการ เมื่อสร้างเสร็จ กด Apply ทดสอบกด CTRL+j จะได้คำสั่งทันที

การจัดการ XDATA

Xdata เป็นการฝาก ข้อมูลลงในเส้น เช่นค่าตัวแปร หรือชื่อบางอย่าง CAD.GetXData(handle,name);   เป็นการอ่านค่า String ถ้าไม่มี จะเป็น "" CAD.SetXData(handle,name,value); เป็นการเขียนค่าเข้าใน เส้น ตาม Value

คำสั่งอ่านแก้ไข Entity เส้นต่าง

คำสั่ง อธิบาย CAD.EraseEntity(handle); ลบ วัตถุ เส้น CAD.MoveEntity(handle,x,y,z); ย้าย วัตถุ เส้น ตามค่า x y z CAD.RotateEntity(handle,pt,angle); หมุนวัตถุ โดยมีจุดหมุน pt และมุม angle radius CAD.GetEntityLayer(handle); แสดงค่า Layer ของ วัตถุ CAD.GetEntityName(handle); แสดงชื่อของ วัตถุ CAD.GetEntityLinetype(handle); แสดง Linetype ของ วัตถุ CAD.SetEntityLayer(handle,layer); ตั้งค่า layer ของ วัตถุ CAD.GetEntityProp(handle,name); แสดงค่า คุณสมบัติ ของวัตถุ เช่น Area จะเป็น double เป็นต้น CAD.SetEntityProp(handle,name,value); ตั้งค่า คุณสมบัติที่ตั้งได้ ของ วัตถุ CAD.GetPlineVertexAt(handle,index); แสดงค่า จุดIndex ของ Polyline  

คำสั่ง จัดการ Block , Block Attribute และ Dynamic properties

ในการ ดึงค่า ของ Entity จะใช้ Handle เป็น หลัก วิธีการเช่น var eHnd = CAD.PickEntity("Select Object"); eHnd จะเป็น handel คำสั่ง อธิบาย CAD.InsertBlock(text,pt1,height,angle); วางตำแหน่ง Block CAD.InsertBlockLayer(text,pt1,height,angle,layer); วางตำแหน่ง Block กำหนด layer CAD.ListAttributeTag(handle); แสดงรายการ Attribute ในBlock เป็น Array จาก Block Handle CAD.GetAttribute(handle,name); ดึงค่า เป็น String ของ Attribute จาก Block ใช้   Handle   CAD.SetAttribute(handle,name,value); ตั้งคา Attribute ตามชื่อ   CAD.GetBlockDyn(handle,name); ดึงค่า ตัวแปร Dynamic จาก Block CAD.SetBlockDyn(handle,name,value); ตั้งค่า ตัวแปร Dynamic ของ Block

คำสั่งในการวาด เส้นต่าง ของ CAD Js

คำสั่ง อธิบาย CAD.DrawLine(pt1,pt2); วาดเส้น ตาม Current Layer   CAD.DrawLineLayer(pt1,pt2,layer); วาดเส้น โดยกำหนด Layer   CAD.DrawPoint(pt1); วาดจุด ตาม Current Layer   CAD.DrawPointLayer(pt1,layer); วาดจุด โดยกำหนด Layer   CAD.DrawCircle(pt1,r); วาด วงกลม ตาม Current Layer   CAD.DrawCircleLayer(pt1,r,layer); วาดวงกลม โดยกำหนด Layer   CAD.DrawText(pt1,height,angle,text); วาด Text ตาม Current Layer   CAD.DrawTextLayer(pt1,height,angle,text,layer); วาด Text โดยกำหนด Layer   CAD.DrawTextMid(pt1,height,angle,text); วาด Text Mid ตาม Current Layer   CAD.DrawTextMidLayer(pt1,height,angle,text,layer); วาด Text Mid โดยกำหนด Layer   CAD.DrawArc(pt1,pt2,pt3); วาด โค้ง 3 จุด     CAD.DrawArcLayer(pt1,pt2,pt3,layer); วาด โค้ง 3 จุด โดยกำหนด Layer   CAD.DrawArcCenter(center,radius,startAng,endAng); วาด โค้ง ศก ระย     CAD.DrawArcCenterLayer(center,

คำสั่งเกี่ยวกับ จุด point

Point และ vector ใช้ array ของ double เหมือนกัน var pt = [1,2,3] ; X เป็น 1 , Y เป็น 2 และ Z เป็น 3 คำสั่งที่เกี่ยวข้อง MovePoint(x,y,z) ย้ายจุด ตามค่า x y z var pt2=pt.MovePoint(10,20,30); pt2 จะเพิ่มค่าจากจุด pt อีก x=10 y=20 และ z=30 AddVector(vec) ทำงานเหมือน Move Point แต่ vec เป็น array ของจุด RotatePoint(base point,angle radius) หมุนจุดจาก base point var ptbase=[1,2,0]; var pt3=pt.RotatePoint(ptbase, Math.dtr(45)); pt3 จะเกิดจาก pt หมุน ไป 45 องศา โดยมีจุดหมุนที่ ptbase

ส่งคำสั่งไป command line

คำสั่ง CAD.SendCMD(string); เป็นคำสั่งสำหรับ ส่ง ข้อความไปที่ command line ของ CAD เช่น  CAD.SendCMD(“line\n10,10,0\n20,20,0\n”); เป็นการวาดเส้นจาก จุด 10,10 ไป 20,20  \n หมายถึง กด Enter

การจัดการ Layer

คำสั่ง อธิบาย ค่าReturn ตัวอย่าง CAD.GetCLayer(); ค่าของ Layer ปัจจุบัน String var cLayer=CAD.GetCLayer(); CAD.SetCLayer("layername"); ตั้งค่า Layer ที่ต้องการทำงาน Bool   CAD.SetCLayer("layer1"); CAD.PushCLayer(); เก็บ ค่า Layer ปัจจุบัน CAD.PopCLayer(); นำค่า Layer ที่ Pushใว้ กลับมา CAD.LayerList(filter); List Layer with Filter Array var allLayer = CAD.LayerList("*");

คำสั่งในการ Input Command

คำสั่งในการ Input จะมีคำสั่ง Basic input อยู่ ได้แก่ var str= CAD.GetString("Prompt","123"); // prompt และ default จะได้มาเป็น String var dist = CAD.GetDist("Prompt"); // prompt และ จะได้ ค่า Distant หรือ เลขจำนวน var count = CAD.GetInt("Prompt"); // prompt และ จะได้ค่าเป็นจำนวนเต็ม var isOk = CAD.GetYorN("Prompt"); // เป็น bool (true 1,false 0) var options=["1 dog","2 cat", "3 fish"]; var str =    window.GetString(options,"prompt","defString");// String มีทางเลือก สำหรับทางเลือก ได้แก่ Listbox var options=["1 dog","2 cat", "3 fish"]; var item = CAD.GetItemList("prompt",options); // เลือก text ใน options สำหรับ ที่เป็นเฉพาะของ CAD ได้แก่ จุด และ การเลือก Entity จุด จะเก็บ เป็น Javascript double array มี 3 ค่า pt[0] เป็น X pt[1] เป็น Y และ pt[2] เป็น Z var pt = CAD.GetPoint(mode); // modeมึค่า 0 จุดเดียว 1 เป็นจุดต่อไป และ 2 เ

คำสั่ง ในการแสดงค่า และ Debug

รูปภาพ
CAD Js จะมีคำสั่งที่แสดงค่า 2 แบบ ได้แก่ แสดงที่ command line และ เป็น Popup windows คำสั่งที่ ง่ายที่สุด และสามารถ แสดงค่าได้เกือบทุกตัวแปร ได้แก่ print(<data>); var str = "hello"; print(str+" world"); ก็จะแสดง "hello world" ที่ Command line ลองทดสอบโดยสร้าง File 1_basic.js และ ทำการเรียก zzz ตามด้วย file 1_basic.js และ คำสั่งที่แสดงเป็น Popup windows ได้แก่ var str="hello"; window.alert(str+ " world"); print และ window.alert จะมีประโยชน์ในการส่ง Message ให้ผู้ใช้งานและ เป็นการ Debug โปรแกรมด้วย สำหรับการ Debug Geometry หรือ พิกัดบนจอ จะแสดงเป็นเส้นชั่วคราว (Zoom pan หาย) ในการหาจุด var pt = [10,10.0]; var size =1.2; CAD.TempX(pt,size); จะเป็นการวาด จุด มีขนาดเท่ากับ size บนจอ สำหรับการวาด เส้น var pt1 = [10,10,0]; var pt2=[20,20,0]; CAD.TempLine(pt1,pt2);