PDA

View Full Version : Drawing Management , Output & Customize



mario
06-11-2008, 01:14 AM
AutoCAD ကို VBA (Visual Basic for Application) နဲ႕ တြဲျပီး သံုးရင္ တစ္ျခား Microsoft ရဲ႕ Applicationေတြနဲ႕ ခ်ိတ္ဆက္ျပီး သံုးလို႕ရႏိုင္ပါတယ္။
ဥပမာ Format လုပ္ထားတဲ့ Excel Sheetကေန ျပီး ကလစ္တစ္ခ်က္ႏိွပ္လိုက္တာနဲ႕ ပံုတစ္ပံုဆြဲျပီးသားထြက္ေအာင္ လုပ္လို႕ရပါတယ္။ OLE(Object Linking and Embedding) ကို Support လုပ္တဲ့ Application ေတြနဲ႕ တြဲျပီး သံုးလို႕ရႏိုင္ပါတယ္။

ဒါ့အျပင္ ကိုယ္ပိုင္ User Interface တစ္ခုဆြဲျပီး ပံုတစ္ပံုကို လိုသလို အလိုအေလ်ာက္ဆြဲလို႕ရပါတယ္။

ကြ်န္ေတာ္ လုပ္ငန္းခြင္မွာ AutoCAD VBA ကို မသံုးဖူးေပမယ့္ ေက်ာင္းတုန္းကေတာ့ ပေရာ့ဂ်က္တစ္ခု လုပ္ဖူးပါတယ္။ အဲဒီေတာ့ တတ္သေလာက္မွတ္သေလာက္ ေ၀မွ်ပါရေစ။

ပထမဆံုးအေနနဲ႕ Visual Basic Editor ကို ဖြင့္ဖို႕လိုပါတယ္။ ေအာက္က နည္းလမ္း ၃ခုထဲကေန တစ္နည္းနည္းနဲ႕ Visual Basic Editor ကို ဖြင့္ႏိုင္ပါတယ္။

Command: VBAIDE <enter>
Menu: Tools->Macro->Visual Basic Editor
ShortCut: Alt+F11

ေနာက္တစ္ဆင့္ အေနနဲ႕ Visual Basic Editor အထဲမွာ ရွိတဲ့ Project Window ထဲက ၾကိဳက္တဲ့ေနရာမွာ Right Click ႏွိပ္ျပီး Insert->User Form ကို ေရြးပါ။ ေအာက္ကပံုမွာ ျပထားပါတယ္။

http://i277.photobucket.com/albums/kk80/mario_bros_123/Tut1Step1.jpg

အဆင့္ (၂) ။ ။ Tool Box ထဲမွာ ရွိတဲ့ Command Button Icon ေပၚမွာ Click ႏွိပ္ပါ။

http://i277.photobucket.com/albums/kk80/mario_bros_123/Tut1Step2.jpg

အဆင့္ (၃) ။ ။ UserForm1 ေပၚမွာ Comman Button တစ္ခုကို ေအာက္မွာျပထားတဲ့ ပံုအတိုင္းဆြဲပါ။

http://i277.photobucket.com/albums/kk80/mario_bros_123/Tut1Step3.jpg

အဆင့္(၄)။ ။ Button ေပၚမွာ ရွိတဲ့ Text ကို ေျပာင္းဖို႕အတြက္ Screen ရဲ႕ ဘယ္ဘက္ေအာက္ေထာင့္မွာ ရွိတဲ့ Properties Window မွာ Caption ကို ေရြးလိုက္ပါ။ ေနာက္ျပီး ကိုယ္ေျပာင္းခ်င္တဲ့ စာသားကို ရိုက္ထည္႕ပါ။ တစ္ခုသတိျပဳရမွာက အခုလက္ရွိ Selection ဟာ CommandButton1 ျဖစ္ေနဖို႕လိုပါတယ္။ အဲဒီလိုမဟုတ္ဘူးဆိုရင္ CommandButton1 ကို တစ္ခ်က္ ကလစ္ႏွိပ္ျပီး Select လုပ္ပါ။ Selection မွန္မမွန္ဆိုတာကို ေတာ့ Properties Window ထဲက Name မွာ ၾကည္႕ႏိုင္ပါတယ္။

http://i277.photobucket.com/albums/kk80/mario_bros_123/Tut1Step4.jpg

အဆင့္(၅)။ ၊ UserForm1 ေပၚမွာ ရွိတဲ့ အခုေလာေလာလတ္လတ္ စာသားေျပာင္းထားတဲ့ Button ေပၚမွာ Double Click ႏွိပ္ပါ။ Code Window ထြက္ေပၚလာတာကို ေအာက္ပါအတိုင္းေတြ႕ရပါလိမ့္မယ္။

http://i277.photobucket.com/albums/kk80/mario_bros_123/Tut1Step5.jpg

အဆင့္(၆)။ ။ ကြ်န္ေတာ္တို႕ ကုဒ္စေရးပါေတာ့မယ္။ ေအာက္က ကုဒ္အတိုင္း ရိုက္ပါ ဒါမွ မဟုတ္ ေကာ္ပီကူးထည္႕ပါ။



Private Sub CommandButton1_Click()
Dim objLine As AcadLine
Dim StartPt(0 To 2) As Double
Dim EndPt(0 To 2) As Double

StartPt(0) = 0# 'Start Point X Coordinate
StartPt(1) = 0# 'Start Point Y Coordinate
StartPt(2) = 0# 'Start Point Z Coordinate

EndPt(0) = 50# 'End Point X Coordinate
EndPt(1) = 50# 'End Point Y Coordinate
EndPt(2) = 0# 'End Point Z Coordinate

Set objLine = ThisDrawing.Application.ActiveDocument.ModelSpace.AddLine(StartPt, EndPt)

ThisDrawing.Application.ZoomExtents

End Sub


အစိမ္းေရာင္နဲ႕ ေပၚေနတာေတြက Comments ေတြပါ မေရးလည္း ရပါတယ္။
ေအာက္ကပံုအတိုင္းေတြ႕ရပါလိမ့္မယ္။

http://i277.photobucket.com/albums/kk80/mario_bros_123/Tut1Step6.jpg

အဆင့္ (၇) ။ ။ Run ကို ႏွိပ္ပါ။ အမွားမရွိဘူးဆိုရင္ Run လို႕ ရပါျပီ။

http://i277.photobucket.com/albums/kk80/mario_bros_123/Tut1Step7.jpg

အဆင့္(၈)။ ။ AutoCAD ေပၚမွာ အခုလို Dialog ကေလးတစ္ခုေပၚလာတာကို ေတြ႕ရပါမယ္။ Draw Line ေပၚမွာ Click ႏွိပ္လိုက္ပါ။ AutoCAD ထဲမွာ မ်ဥ္းေၾကာင္းတစ္ေၾကာင္းဆြဲေပးတာကို ေတြ႕ရပါမယ္။

http://i277.photobucket.com/albums/kk80/mario_bros_123/Tut1Step8.jpg

ကုဒ္ကို ေနာက္ေန႕ၾကမွ ရွင္းျပပါ့မယ္။ Have a fun with AutoCAD VBA. ;D

နားမလည္တာ၊ မရွင္းတာ ၊ လုပ္လို႕မရတာရွိရင္ ေျပာၾကပါ။ ကြ်န္ေတာ္ ကူညီပါ့မယ္။

ကိုဆန္း
06-11-2008, 03:11 PM
ကို mario ေရ..
အရမ္းကို တန္ဖိုးရွိတဲ႔ ေဆြးေႏြးခ်က္ပဲဗ်ာ..
စာေမးပဲြေတြလည္း ျပီးျပီ ဆိုေတာ႔..ဒီသင္ခန္းစာကေနစျပီး ကၽြန္ေတာ္ လုိက္လုပ္ပါ႔မယ္။
ေနာက္ထပ္ သင္ခန္းစာေတြကိုလည္း ဆက္လက္မွ်ေ၀ပါဦး။ေစာင္႔ေမွ်ာ္ေနပါတယ္ဗ်ာ.. :)

papagyi
08-07-2008, 12:11 PM
အသံုး၀င္မယ္. system variables ေလးေတြ sharing လုပ္လိုက္ပါတယ္။
This is new variable of acad2009!
Menubar..(0,1).....menu bar ON/Off.
When you open acad 2009,you will lost menu bar coz "menubar" is set to "0".
You can see menu bar by set to "1".
_ _ _ _ _ _ _ _ _
Tilemode..(0,1)....change to model space/paper space
Lunits ..... (0.1,2,3,4,5..)...eg. you can type in command line "lunits" enter "4" enter.Your drawing units change for architecture.
Other...coming soon..

papagyi
08-08-2008, 10:47 PM
Solid model ဆြဲျပီး Hide လုပ္လို. အစင္းေတြမျကိုက္၇င္ Dispsilh...(0,1) set to dispsilh ...(1)
---autocad ဖြင္.ျပီး file new အတြက္ command line (cmd) မွာ Lunits...enter ...4..enter ျပီးရင္ limmax enter ...100',100' enter...
ဒါဆိုရင္ (Format -units-architecture ဆိုတဲ.အလုပ္နဲ. format -drawing limits -0,0 enter -100',100' enter )ဆိုတဲ.အလုပ္ေတြ အမ်ားျကီးလုပ္စရာမလိုပဲျပီးသြားမွာေနာ္။ကဲ system variables ေတြသံုးလို.အဆင္မေျပဘူးလား။

papagyi
08-12-2008, 09:17 PM
Autolisp ကိုစိတ္ဝင္္စား၇င္္ ေလ.လာဖို. Pdf file ေလးတင္ေပးလိုုက္္ ပါ တယ္။
Autocad advance user ျဖစ္ဖို. autolisp ကိုမက်ြမ္းးက်င္္ ေတာင္မွ micro ေလာက္ေတာ.ေ၇းဖို..လိုုပါတယ္။

papagyi
09-01-2008, 03:03 PM
Autocad မွာ close poly line ေတြ Extrude လုပ္တဲ.အခါ original shape ေတြ မရိွေတာ.ပဲ 3d object ၇ပါတယ္။နဂို shape ေတြ လဲက်န္ခ်င္၇င္
command line မွာ "delobj" enter "1" enter. Delobj (0,1). Delete object ပါ။

papagyi
09-19-2008, 05:39 PM
Autocad 2009 သံုးတဲ.အခါ ပါလာတဲ. "Ribbon" ကို ပိတ္ခ်င္၇င္ "ribbonclose" လို. command မွာ ရိုက္ပါ။ျပန္လိုခ်င္၇င္ "ribbon"လို. command မွာ ရိုက္ပါ။

papagyi
10-14-2008, 10:07 PM
Autocad မွာ File open or new ဖြင္.တဲ.အခါ Filedialog box က်မလာပဲ command line မွာပဲ path ေတြေတာင္းေန၇င္ Filedia enter 1 လို.commandline မွာ type လုပ္ပါ။ Filedia..0 ျဖစ္ေနလို.ပါ။

papagyi
10-31-2008, 03:14 PM
Now i share from other for undocument system variables for Acad2009.
Here's a list of new system variables for 2009. These are the variables that are displayed by the SETVAR command. The variables in the first list can be found in Help. If you know what the undocumented variables do please post back here.

ACTPATH
ACTRECORDERSTATE
ACTRECPATH
ACTUI
CAPTURETHUMBNAILS
DGNIMPORTMAX
DGNMAPPINGPATH
LAYEREVALCTL
MENUBAR
MLEADERSCALE
MTEXTTOOLBAR
NAVSWHEELMODE
NAVSWHEELOPACITYBIG
NAVSWHEELOPACITYMINI
NAVSWHEELSIZEBIG
NAVSWHEELSIZEMINI
NAVVCUBEDISPLAY
NAVVCUBELOCATION
NAVVCUBEOPACITY
NAVVCUBEORIENT
NAVVCUBESIZE
PREVIEWTYPE
PUBLISHHATCH
QPLOCATION
QPMODE
QVDRAWINGPIN
QVLAYOUTPIN
ROLLOVERTIPS
SHOWMOTIONPIN
STATUSBAR

Undocumented

CBARDISPLAYMODE
CDYNDISPLAYMODE
CNAMEFORMAT
CONSTRAINTRELAX
CONSTRAINTSOLVEMODE
HIDEXREFSCALES
LAYERDLGMODE
RENDERQUALITY
SKYSTATUS
----------------------------
HIDEXREFSCALES
Hides xref scales in the annotation, plot and viewport scale list.
0 xref scales are not hidden
1 xref scales are hidden

LAYERDLGMODE
Controls the layer dialog display type.
0 the layer dialog is displayed in the legacy dialog
1 the layer dialog is displayed as a modeless (correct term?) dialog

papagyi
11-20-2008, 09:34 PM
Autocad နဲ႕ဆြဲၾကတဲ႕အခါ ပုံထုတ္တဲ့အပိုင္းေတြ ...Dimension ေတြ unit ေတြscale ေတြကလဲတကယ့္အလုပ္ခြင္မွာ
ၾကံဳေတြ႕ၾကရမယ့္...problem ေတြပါ။ဒါေလးေတြနဲ႕ပတ္သတ္ျပီးေရးေပးခ်င္ပါတယ္။...မသိတာ၊မရွင္းတာေတြေမးႏိုင္ပါတယ္။
တတ္နိုင္သေရြ႕ ေျပာေပးပါ့မယ္။...ေမးတာမရွိခဲ့ရင္ေတာ့...ft,inches နဲ႔ဆြဲထားတဲ႔Drawing ကို m,cm,mm နဲ႕ dimension ေပၚေအာင္ဘယ္လို
တပ္မလဲ...(သို႔) m,cm,mm နဲ႔ဆြဲထားတဲ႔Drawing ကို ft,inches ..နဲ႕ dimension ေပၚေအာင္ဘယ္လို
တပ္မလဲ..ဆိုတာမ်ိဳးေပါ့ ...အထူးသျဖင့္ ft,inches နဲ႕ဆြဲျပီး or Design လုပ္ျပီးသားပံုကို m,cm,mm နဲ႕လုပ္ဖို႕ေပးရတဲ႕အခါမ်ိဳး...
မွာရင္ဆိုင္ၾကံဳေတြ႔ရမယ့္ျပသနာအတြက္အသံုးဝင္ပါတယ္။...ဒီအေၾကာင္းကိုတင္ေပးဖို႕ အရင္ ..မသိတာ၊မရွင္းတာေတြ ေစာင့္မယ္ေနာ္...

komyat
02-28-2009, 04:51 PM
unit ေတြကိုေျပာင္းခ်င္ရင္Auto CAD ထဲမွာDimension Style ကိုဖြင္႕ပါ။ ဆက္ျ႔ပီးModify (or)Override ကိုသြားပါ Primary Units ထဲ၀င္ျပီးမိမိေျပာင္းလိုေသာunit ကိုေျပာင္းျပီးDimension တပ္လွ်င္အဆင္ေျပပါလိမ္႕မည္။လိုအပ္လွ်င္akmyat06@gmail.com ကိုဆက္သြယ္လိုက္ပါ Thanks.........

papagyi
03-03-2009, 11:16 AM
ကၽြန္ေတာ္တို. autocad ဖြင့္ျပီး file open လုပ္တဲ့အခါ မွာ ကိုယ့္ရဲ႕ file ေတြထားတဲ့ folder or location ကို direct ေရာက္တဲ့
အခါေရာက္လိုက္ ...မေရာက္ရင္ လဲ browse လုပ္ျပီး ဖြင့္လိုက္နဲ႕ stable မရွိပါဘူး။....ဘယ္အခ်ိန္ open လုပ္လုပ္ ကိုယ့္ရဲ႕
သတ္မွတ္ထားတဲ့ folder ေလးရဲ႕ path အတိုင္းပဲပြင့္ရင္ မေကာင္းဘူးလားဗ်ာ။....ပထမဆံုး ...desktop ေပၚက autocad shortcut icon
ေပၚ right click , properties နဲ႕ ဝင္ျပီး ပံုပါအတိုင္း start in မွာေတြ႕ရပါမယ္။...ျပီးေတာ့ autocad ဖြင့္ျပီး command line မွာ
"rememberfolders" enter "0" enter လုပ္ပါ။...ေနာက္ ဒုတိယပံုအတိုင္း desktop ေပၚက autocad shortcut iconေပၚ
right click , properties နဲ႕ ဝင္ျပီး ကိုယ့္ရဲ႕ folder path ကိုေပးျပီး apply လုပ္ပါ။ေနာက္ autocad ကိုပိတ္ပါ။ျပီးေတာ့ျပန္ဖြင့္ပါ။
ဒါဆို ဘယ္အခ်ိန္ autocad က file open လုပ္တိုင္းလုပ္တိုင္း ကို္ယ့္ရဲ႕ သတ္မွတ္ထားတဲ့ folder path ကို ေရာက္သြားမွာပါ။ :) :)

papagyi
04-19-2009, 02:03 AM
Autocad နဲ႕ဆြဲၾကတဲ႕အခါ ပုံထုတ္တဲ့အပိုင္းေတြ ...Dimension ေတြ unit ေတြscale ေတြကလဲတကယ့္အလုပ္ခြင္မွာ
ၾကံဳေတြ႕ၾကရမယ့္...problem ေတြပါ။ဒါေလးေတြနဲ႕ပတ္သတ္ျပီးေရးေပးခ်င္ပါတယ္။...မသိတာ၊မရွင္းတာေတြေမးႏိုင္ပါတယ္။
တတ္နိုင္သေရြ႕ ေျပာေပးပါ့မယ္။...ေမးတာမရွိခဲ့ရင္ေတာ့...ft,inches နဲ႔ဆြဲထားတဲ႔Drawing ကို m,cm,mm နဲ႕ dimension ေပၚေအာင္ဘယ္လို
တပ္မလဲ...(သို႔) m,cm,mm နဲ႔ဆြဲထားတဲ႔Drawing ကို ft,inches ..နဲ႕ dimension ေပၚေအာင္ဘယ္လို
တပ္မလဲ..ဆိုတာမ်ိဳးေပါ့ ...အထူးသျဖင့္ ft,inches နဲ႕ဆြဲျပီး or Design လုပ္ျပီးသားပံုကို m,cm,mm နဲ႕လုပ္ဖို႕ေပးရတဲ႕အခါမ်ိဳး...
မွာရင္ဆိုင္ၾကံဳေတြ႔ရမယ့္ျပသနာအတြက္အသံုးဝင္ပါတယ္။...ဒီအေၾကာင္းကိုတင္ေပးဖို႕ အရင္ ..မသိတာ၊မရွင္းတာေတြ ေစာင့္မယ္ေနာ္...

ကဲကၽြန္ေတာ္တို႔ architectural units ကို base ယူထားတဲ့ acad.dwt file ကိုဖြင့္ျပီး format_units_Architectural ကိုေျပာင္းပါ။
ျပီးေတာ့ drawing limits တစ္ခုေပးလိုက္ပါ။eg..100',100' ေပါ့။..လုပ္ခ်င္တာက feet,inches နဲ႕ ဆြဲထားတဲ့ file ကို m or cm or mm
နဲ႕ working drawing ထုတ္ေပးရမယ္ဆိုပါစို႕။...Dimension style ကို m ,cm ,mm နဲ႕ 3 ခုလုပ္ျပီး ေပးခ်င္တာနဲ႕ ထုတ္ေပးလိုက္ရုံပါပဲ။
ကၽြန္ေတာ္တစ္ခု နမူနာလုပ္ျပပါ့မယ္ ...က်န္တဲ့ ၂ခုေတာ့ ကိုယ့္ဘာသာကိုယ္လုပ္နိုင္သြားမွာပါ။..ပထမဆံုး Dimension style dialogbox
ကေန m(meter) ဆိုျပီး dimension style တစ္ခု new လုပ္လိုက္ပါ။ျပီးရင္ Primary units tab က units format မွာ architectural ကို
ေျပာင္းပါ..ပံုမွန္အားျဖင့္ ပံု 1 က Alternate units tab က display alternate unit ကို check လုပ္ျပီး တိုင္းရင္
3.281' အလ်ားရွိတဲ့ မ်ဥ္းတစခုကို "3'3/8"[1000.05]လို႕ျပပါမယ္။ဒါက mm ကိုျပတာပါ။ျဖစ္သင့္တာက 1000 mm or 1000.05 mm လို႕ျပသင့္ပါတယ္။အဲ...dimension style ရဲ႕ line ေတြရဲ႕color ေတြ arrow head ေတြကိုေတာ့ ကိုယ့္ဘာသာအဆင္ေျပသလိုေျပာင္းေပါ့ေနာ္။
...ကဲ m(meter) dimension style ကို Alternate units tabက display alternate unit ကို uncheck လုပ္ျပီး ပံု 2 က အတိုင္း
primary units tab က Unit format=decimal , precision=0.00, suffix=m ,scale factor=0.0254 ေျပာင္းျပီး တိုင္းၾကည့္ပါ
1.00m လို႕ျပပါမယ္။..ေနာက္ mm,cm dimension style ေတြကိုလည္း suffix နဲ႕ scale factor ကိုကစားျပီးလုပ္ၾကည့္နိုင္ပါျပီ။
ကၽြန္ေတာ္ အခုေျပာခဲ့တဲ့ အတိုင္း sample file ေလးပါ zip လုပ္တင္လိုက္ပါတယ္။အဆင္မေျပရင္ ေျပာပါဦး။
ကဲ upoload ကအဆင္မေျပဘူးျဖစ္ေနလို႕ ..http://www.mediafire.com/download.php?bmgttilwome
ဒီလိုပဲေပါင္းတင္လိုက္ပါတယ္။ P.s ..admin ေရ upload limit က 5000kb ဆိုေပမယ့္ 100 kb ေလာက္ကို upload folder
full ျဖစ္ေနတယ္လို႕ေျပာေနတယ္။Check လုပ္ေပးၾကပါဦး။ :) :)

aung hlaing
12-10-2010, 10:34 PM
Autolisp ကို စိတ္၀င္စားပါတယ္ခင္မ်ား.. Attach file မတြဲလို႕ ကူပါဦး....