วันจันทร์ที่ 17 ธันวาคม พ.ศ. 2561

Customize Revit ให้ Project Browser ไม่แสดง Ceiling Plan

การแสดง และไม่แสดง Ceiling Plan ในการทำงาน บางครั้ง จะมีปัญหาสำหรับมือใหม่ ในการวางผิด แปลน จาก Floor plan เป็น Ceiling Plan ต้อง เสียเวลาแก้ไข
วิธีง่าย เพื่อป้อง กัน ให้ Customize View ของ Project Browser

เมนู
 User Interface -> Browser Organization
โดย การ New ตัวอย่าง "fl"


กดที่ Edit

เลือก เป็น Family และ ให้ Equal to(เท่ากับ) Floor Plans
แล้วกด Ok

ดูผล ใน Project Browser จะไม่มี Ceiling Plan ถ้าต้องการ อย่างอื่น ก็สามารถใช้ ตรรก Not And เท่ากับ OR ได้
เช่นไม่ต้องการ Ceiling Plan ก็ต้อง not Equal Ceiling Plan แทน


กรณีเป็น Not equal








วันพฤหัสบดีที่ 13 ธันวาคม พ.ศ. 2561

ระบบ Autocad ARX wizard ข้าม Version 2017->18->19

Autocad ARX Wizard สำหรับการพัฒนาโปรแกรม ด้วย C++ เป็นการสร้าง Project สำหรับ Visual Studio ให้โดยอัตโนมัติ ตาม Version ของ Autocad เช่น ARX Wizard ของ Autocad 2017 ก็จะ ได้เฉพาะ Autocad 2017 จะข้ามไป 2018 ไม่ได้ โดยตรง ต้องทำตามนี้
เมื่อ Visual Studio 2015 จะสร้าง File ให้ เป็น File Property 4 File ที่ใช้ควบคุม Environment
ได้แก่
<ชื่อProject>.vcxproj
Autodesk.arx-2017.props
Autodesk.arx-2017-net.props
crx.props

ให้ copy เป็น Version ที่ต้องการ สำหรับ ชื่อโครงการให้ไม่ตรงกัน แก้ที่ 2017 เป็น 2018 หรือ 2019( ต้องใช้ Visual studio 2017 platform 141)
แล้วเปิด file ทั้ง 4 ด้วย Notepad และ File and Replace 2017 เป็น 2018 หรือ 2019 ตามต้องการ
แล้วเปิด โครงการใหม่.vcxproj โปรแกรมจะสร้าง .sln ให้ใหม่ เอง
เวลา compile ต้อง เลือก x86 หรือ x64 ด้วย ไม่นั้น All platform จะ errror

วันอาทิตย์ที่ 4 พฤศจิกายน พ.ศ. 2561

Walk around กับ Microsoft ML หรือ Ai ของ Microsoft

มีความจำเป็น ดูแล้วถ้าไม่ทำอะไร AI (Artificial Intelligent) คงจะกินงานที่หากินมาหลายปีหมดใน เวลาเร็วๆนี้แน่นอน เลยต้องลงมือทดลอง หลายอย่าง
Microsoft ออก AI มาทีหลังคนอื่นมาก เช่น http://scikit-learn.org/stable/ อันนี้ ใช้กันทั่วไปในงานวิจัย และมีตัวอย่างมาก สำหรับ Microsoft มีข้อดีคือ สำเร็จรูป และเป็น Dotnet Interface


https://www.microsoft.com/net/apps/machinelearning-ai/ml-dotnet

เป็น AI ที่ทำมาให้ ทำงานใน Cross Platform ได้ ทั้ง Linux และ OSX

โดยการติดตั้ง ทำได้ อย่างง่าย และเป็น console

การติดตั้ง จะต้อง ติดตั้ง Dotnet SDK ก่อน
และ ติดตั้ง ML.net sdk อีกที
ตัวอย่างที่มีให้ใน Web site จะเป็นตัวอย่างการแยก ชนิดดอกไม้

สำหรับการติดตั้งใน Visual studio ให้ง่ายสุด ก็ใช้ Visual Studio 2017
และให้ สร้างตัวอย่าง เป็น console Application
เมื่อได้ แล้วไปที่ Nuget Package manager ให้เลือก ML.net

แล้วสร้าง Data file iris-data.txt ตามตัวอย่าง

ตัด code และ ทำการ ทดสอบ run
ก็จะเป็นการทดลอง machine Learning ตัวแรก ใน Dotnet 



วันจันทร์ที่ 10 กันยายน พ.ศ. 2561

Revit สร้าง Wall Tag โดยใส่ที่กลางกำแพง อัตโนมัติ

เป็นปัญหาในการใส่ Wall Tag ต้องแก้ที่ Edit Type
โปรแกรม จะถาม และ ใส่ให้เอง โดยอัตโนมัติ ที่กลางกำแพงจากค่า mytag


        private static IndependentTag CreateMyTag(Autodesk.Revit.DB.Document document, Wall wall,String mytag)
        {
            // check 2D
            Autodesk.Revit.DB.View view = document.ActiveView;

            TagMode tagMode = TagMode.TM_ADDBY_CATEGORY;
            TagOrientation tagorn = TagOrientation.Horizontal;

            // Find Mid wall
            LocationCurve wallLoc = wall.Location as LocationCurve;
            XYZ wallStart = wallLoc.Curve.GetEndPoint(0);
            XYZ wallEnd = wallLoc.Curve.GetEndPoint(1);
            XYZ wallMid = wallStart + (wallEnd - wallStart) / 2.0;

            IndependentTag newTag = document.Create.NewTag(view, wall, true, tagMode, tagorn, wallMid);
            if (null == newTag)
            {
                throw new Exception("Create Wall Tag Failed.");
            }

         
            //find some param
            WallType type = wall.WallType;

            Parameter foundParameter = type.LookupParameter("Type Mark");
              bool result = foundParameter.Set(mytag);

         
            newTag.HasLeader = false;

         
            newTag.TagHeadPosition = wallMid;

            return newTag;
        }

วันอังคารที่ 14 สิงหาคม พ.ศ. 2561

คำสั่ง ย่อ Shot cut ของ Revit ที่น่าสนใจ

ลดเวลาในการกดปุ่มบนหน้าจอ Revit
Di  = Dimension
Gr = สร้าง Grid
LL = สร้าง ระดับ
ZA = ซูม All
ZE = ซูม พอดี
ZZ = ซูม Region
PP = เปิด Property

วันจันทร์ที่ 9 กรกฎาคม พ.ศ. 2561

การใช้ Add-on ARX บน Autocad LT

ปรกติ ใน Autocad LT จะไม่มี โปรแกรมเสริม แต่ มี Third Party ที่ทำให้ โปรแกรม ที่ Compile ด้วย C++ เป็น  <ชื่อ>.arx แต่มี โปรแกรม Shareware ของ บริษัท Manusoft สามารถ Load โปรแกรม ARX เข้ามาใช้งานใน Autocad LT ได้

reference: http://www.cadforum.cz/cadforum_en/qaID.asp?tip=1682

โดย ไป download โปรแกรม จาก www.manusoft.com เช่น Periscope  เมื่อติดตั้ง โปรแกรม จะปรกกฏใน ด้านล่างขวามือของ Autocad เป็น Icon
ถ้าทดสอบว่าโปรแกรม load หรือ ยัง ให้พิมพ์คำสั่ง netload จะขึ้น หน้าคำสั่ง ให้ Load dotnet application แต่จะใช้ไม่ได้ เพราะขาด Security code ของ Dotnet
สำหรับ ARX เป็น C++ จะ load ได้ แต่ต้อง Load ผ่าน Registry
ไปแก้ที่ regedit.exe


Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD LT

เข้าไปที่ Version ที่ติดตั้งอยู่
เช่น Autocad lt 2018 จะเป็น R24

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD LT\R24\ACADLT-1001:409\3DGS Configuration\Periscope

ใน นั้น จะมี Key ชื่อ ModulePath ให้แก้ ไปที่ ไฟล์ Arx ที่ มี เช่น
ติดตั้งใน c:\program files\pcivil\app.arx
ก็ให้ใส่ แบบนี้ ลงไป
เมื่อ เปิด Autocad ก็จะไป Load โปรแกรม ARX อัตโนมัติ

จะใช้ได้ เฉพาะ ARX C++ เท่านั้น สำหรับ Dotnet ที่พัฒนาด้วย C# หรือ VB.net จะทำไม่ได้