บทความ

กำลังแสดงโพสต์จาก สิงหาคม, 2018

สร้าง 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);

แนะนำ CAD Javascript

เพื่อเป็นงานง่ายสำหรับ Programmer Javascript ที่จะทำการ Customize Autocad. Javascript tools เป็น Tool ที่มีคำสั่งสำเร็จรูป สำหรับ งาน เขียน คำสั่งใน CAD ไม่จำเป็นต้องใช้คำสั่ง พื้นฐานในการสร้าง คำสั่งต่างๆ และ วิธีการเขียนก็ใช้คำสั้งพื้นฐานของ Javascript เช่น var, function ไม่ต้องเรียนใหม่ สำหรับผู้ที่เป็นอยู่แล้วในการทำ Webpage ต่างๆ แนวความคิด ในการประยุกต์ javascript กับ CAD ในการใช้ CAD จะมี ตัวแปรที่ เพิ่มขึ้นมา ได้แก่ Entity หรือ เส้น และ จุด Point ทั้ง Entity จะมี ค่าเฉพาะ ได้ Handle เป็นเลขจำนวนเต็ม Point เป็น Array ของ double เลขจริง 3 ตัว [0] เป็น X ,[1] เป็น Y,[2] เป็น Z การใช้งาน โดย การติดตั้ง CADJS โปรแกรม JsCAD ทำการ load application ก็จะทำงานได้ โปรแกรม Compile ด้วย C++ ในรูปแบบ .ARX ทำให้ ใช้งาน ได้ ตาม Version เช่น PJsCAD2018 ก็จะใช้ได้ ทั้ง Autocad 2018 ทั้งสองรุ่น ถ้าเป็น 2019 ก็ต้องเป็น PJsCAD 2019 เป็นต้น ในกรณี LT ต้องใช้ Tool ของ manusoft.com เมื่อ Download PJscad แล้ว การให้โปรแกรมทำการ Load สามารถเรียกได้ดัวย Command line ของ Autocad ใช้