AutoCAD技術交流.資源分享中心
 
 
Home
 
AutoCAD技術交流.資源分享中心
AutoCAD開發常見問題(一) PDF 列印 E-mail
作者是 Administrator   
週一, 11 五月 2009 21:11

AutoCAD開發常見問題(一)


問︰有什麼模式可以在AutoCAD啟動的時候自動加載VBA工程?
答︰當VBA加載時會在AutoCAD目錄下尋找一個名叫acad.dvb的工程。如果找到,就會自動加載它。如果你想VBA和缺省工程在AutoCAD啟動的時候每次都加載,你需要在acad.rx文件中生成一個入?。VBA被設計成命令加載模式(在沒有激活一個VBA命令之前不佔用任何內存和進程)。為了總是加載VBA和acad.dvb工程,請在acad.rx文件中包含下列一行︰
acadvba.arx
在AutoCAD 2000中支持嵌入工程,這樣當你打開擁有嵌入工程的圖形文件時該工程就會自動加載。所以定義嵌入工程也是一個很好的自動加載VBA工程的辦法。
問︰有辦法可以在AutoCAD啟動時自動營運一個VBA例程或宏嗎?

答︰當然。你可以從AutoCAD的acad.lsp文件的啟動功能中透過VBARUN的命令行版本營運一個工程中的宏。首先,你需要準備acad.dvb文件以便自動加載。以drawline.dvb作為例子,用VBALOAD命令彈出VBA IDE對話框。然後用VBA IDE保存為菜單命令保存此工程為新的名字acad.dvb。下一步,激活notepad.exe並且建立或添加下列行到acad.lsp文件中︰
(defun S::STARTUP() (command "_-vbarun" "drawline"))
問︰ AutoCAD支持VBA多工程的打開嗎?
答︰在2000中支持。但在14版中尚不支持。
問︰我可以加密我的VBA模塊代碼嗎?
答︰雖然VBA不支持可執行文件的創建,但是它確實在一個工程的基礎上提供了密碼保護工程窗體、類和模塊可見性的功能。你可以發現這個工程保護功能在VBA IDE菜單中。選擇 工具 > 工程屬性 > 保護。如下圖所示︰

問︰在VBA中如何在命令行上提示?
答︰有一些方法允許在命令行提示輸入以獲取數據。這些方法以“GET”開頭。你可以發現決大多數的方法(如果不是全部的話)透過對象瀏覽器搜索AutoCAD類型庫。啟動VBA IDE。擊F2功能鍵或者從視圖菜單中選擇對象瀏覽器。?對象瀏覽器窗口中使用庫範圍下拉列表把缺省的改成AutoCAD。庫列表下面的編輯列表框是用來搜索的。輸入GET到那個編輯列表框中並且敲返回鍵。包含“GET”的類和成員函數就會顯示在滾動列表中。AcadUtility的一些成員函數可以?命令行上提示用戶輸入。如下圖所示︰
問︰我怎樣從AutoCAD菜單中激活一個VBA例程?
答︰你需要編輯菜單和添加VBARUN模塊子例程。首先確認正確的VBA工程已經加載。
問︰我怎樣從AutoCAD菜單中啟動一個VBA對話框(窗體)?
答︰除了創建一個VBA窗體,你還需要創建一個VBA子例程來顯示這個窗體。而這個子例程需要用VBARUN命令激活。1. 啟動VBA IDE;2. 從菜單中選擇 插入 > 用戶窗體(缺省名稱為UserForm1);3. 添加合適的控件到你的窗體中; 4. 下一步,從菜單中選擇 插入 > 模塊;5. 輸入以下的代碼到缺省的Module1模塊中︰Sub Foo() UserForm1.showEnd Sub6. 最後,編輯AutoCAD菜單調用以下命令來激活對話框︰ -VBARUN Module1.foo.
問︰我已經寫了一個VBA例程用ThisDrawing.Utility.GetPoint獲取一個點。當我從一個VBA對話框中啟動這個例程時,我可以在命令行上看到提示。但是我不能在AutoCAD螢幕上點取一個點。我作錯了什麼?
答︰首先需要關閉對話框,然後才能從AutoCAD獲取數據。添加以下的代碼到ThisDrawing.Utility.GetPoint之前的任何地方以關閉對話框,然後你就可以獲得一個點了。
Me.Hide
問︰有方法加載一個VBA工程而在加載后不顯示VBA IDE嗎?

答︰如果你設置AutoCAD系統變量FILEDIA為0,或者在你加載一個工程的時候把的開關關閉,你就不會?加載之后看到VBA IDE了。這是一個標準的AutoCAD轉換機製。
問︰VBA和AutoLISP有何不同,兩者如何轉換?
答︰如果你已經熟知AutoLISP並且想學習VBA,透過把VBA和AutoLISP表達式聯繫起來的方法就可以容易地做到。以下就是一個關於兩種語言的比較。由於大量的AutoLISP代碼可以利用,轉換一個已有的AutoLISP代碼段為VBA遠比重新編製VBA代碼來得容易。如果兩者的變量名字保持一致,那么比較兩者的代碼也就變得容易了。
點︰
在AutoLISP中,你用(setq)函數來設置一個點。下面這一行把點(0,0,0)分發給PT1變量。(0,0,0)代表這個點位置的x,y,z坐標。
(setq PT1 (0 0 0))
在VBA中,這個操作需要更多的代碼行來完成︰
Dim PT1(0 To 2) As Double
PT1(0) = 0#
PT1(1) = 0#
PT1(2) = 0#
在VBA中,你使用Dim語句來聲明變量。點總是保存在一個三維雙精度值數組中。一個數組也就是一個變量列表。在數組中的變量都擁有相同的名字。數組中的第一個元素使用索引值0,即PT1(0)。第二個元素使用索引值1,即PT1(1)。依次類推。
VBA使用#號作為雙精度值類型的后綴字符。在這個數組中,PT1(0)保存x坐標值,PT1(1)保存y坐標值,PT1(2)保存z坐標值。
既然你已經知道如何保存一個點,我們就可以寫一個VBA宏來在兩點之間畫一條線。
在AutoLISP中,你使用(defun)來定義一個名叫Line1的T諍智暗腃: 意味著擁護可以直接從AutoCAD命令行上執行這個函數。下一步,分發兩個點,然後用AutoCAD的LINE命令?兩點之間畫一條線了。
在VBA中,一個子例程創建一個與AutoLISP相當的函數。下面是AutoLISP和VBA的源代碼。
AutoLISP code

(defun C:LINE1 ()
(setq PT1 (0 0 0))
(setq PT2 (4 4 0))
(command "._line" PT1 PT2 "")
)
VBA code

Sub Line1()
Dim NewLine As Object
Dim PT1(0 To 2) As Double
Dim PT2(0 To 2) As Double
PT1(0) = 0#
PT1(1) = 0#
PT1(2) = 0#
PT2(0) = 4#
PT2(1) = 4#
PT2(2) = 0#
Set NewLine = ModelSpace.AddLine(PT1, PT2)
End Sub
子例程的第一行聲明變量NewLine為一個對象。對象是一個應用程式的一個元素。線,視圖和層都是對象的例子。下一步,點數組聲明了兩個點值。最後,AutoCAD從(0,0,0)到(4,4,0)畫一條線。添加一條線到模型空間中,你需要使用ModelSpace對象集合中的AddLine方法和一條線的起始和終止點。
獲取點︰
用AutoLISP,你經常需要提示擁護選擇一個點。你可以在VBA中用Utility對象的GetPoint方法達到這個目的。你需要聲明一個額外的VarRet變量來保存返回值。以下是Line2的AutoLISP和VBA的代碼對照︰
AutoLISP code

(defun C:LINE2 ()
(setq PT1 (getpoint "\nStart Point: "))
(setq PT2 (getpoint PT1 "\nEnd Point: "))
(command "._line" PT1 PT2 "")
)
VBA code

Sub Line2()
Dim VarRet As Variant
Dim NewLine As Object
Dim PT1(0 To 2) As Double
Dim PT2(0 To 2) As Double
VarRet = Utility.GetPoint(, "Start Point: ")
PT1(0) = VarRet(0)
PT1(1) = VarRet(1)
PT1(2) = VarRet(2)
VarRet = Utility.GetPoint(PT1, "End Point: ")
PT2(0) = VarRet(0)
PT2(1) = VarRet(1)
PT2(2) = VarRet(2)
Set NewLine = ModelSpace.AddLine(PT1, PT2)
End Sub
這一次,GetPoint方法返回一個Variant數據類型。這種數據類型可以保存任何類型的數據。為了使用你選擇的並且保存在變量VarRet之中的開始和終止點,你必須轉換Variant數據為一個雙精度值的數組並且把他們付值給PT1和PT2。
現下兩個VBA子例程已經建立起來了,如何營運它們呢?
啟動AutoCAD,打開一個新圖;
加載工程;
選擇 工具|宏|營運宏;
選擇宏位置(缺省為所有活動圖形和工程);
5. 從窗口中選擇宏名稱;
6. 點擊營運按鈕。

最近更新在 週一, 10 八月 2009 08:41
 
AutoCAD一般常見問題的解答 PDF 列印 E-mail
作者是 Administrator   
週一, 11 五月 2009 21:00

AutoCAD一般問題的解答

1.1 AutoCAD 2004 是什麼?
AutoCAD® 2004 軟件引入了全新的功能,如生產力工具和演示圖形,可使您更快地創建數據;CAD 標準工具和 DWF™ (Design Web Format™) 格式的電子文檔,能讓您更加輕松地共享數據;以及新的軟件許可工具,可使您更加高效地進行數據管理。而且,它是迄今最快的 AutoCAD 版本。無論您使用 AutoCAD 進行三維製圖、詳圖和設計文檔製作,還是進行說明性三維設計,都可以對該軟體進行個性化處理或編程,以滿足您的特定設計需要,或添加能與 AutoCAD 配合的特定行業應用程式。AutoCAD 軟體是計算機輔助設計 (CAD) 的全球標準。AutoCAD 的用戶超過了其它任何 CAD 軟體的用戶。1.2 AutoCAD 軟體的用戶有哪些?
AutoCAD 是一個完全可定製的設計和製圖工具,可用于許多行業的技術圖紙和文檔製作。目前使用 AutoCAD 的客戶包括設計師、建築師、工程師、土地規劃人員、承包商、物業管理人員及教育機構和學生等。 AutoCAD 是一種基礎性技術,支持 Autodesk 的其它特定行業應用程式及數以千計的第三方應用程式。它支持需要一般定製製圖和設計工具的任何設計解決方案。1.3 如果我正在使用以前版本的 AutoCAD,購買 AutoCAD 2004 能夠獲得什麼新功能?
AutoCAD 2004 的新功能可使製圖人員和設計人員大大改進他們的總體工作效率。新增的通信和協作工具可使您的項目小組節省時間和金錢,而且與以前不同,您可以適時地向適當的人員提供適當的訊息。1.4 AutoCAD 2004 的主要優點是什麼?
AutoCAD 2004 軟體提供新的增強功能,能讓您高速創作、輕鬆地共享數據和有效地進行管理。在需要技術製圖的任何行業,速度和數據使用效率都是成功的關鍵。AutoCAD 2004 提供全新的功能,如生產力工具、現代化的用戶界面和演示圖形,可實現更快、更高效的數據製作。它提供密碼保護、CAD 標準工具和多圖紙 DWF™ (Design Web Format™) 文件格式,能讓您更加輕松地共享數據。而且,AutoCAD 2004 提供新的網路許可和軟體清點工具,能使您更加有效地進行數據管理。 高速度創作 ─ AutoCAD 2004 軟體不僅包含一套全新的設計工具,而且還簡化了您每天都要使用的許多現有命令,可幫助您比以前更快地完成工作。AutoCAD 2004 提供了生產力工具(如 Express Tools)、新的演示功能(包括梯度效果、真色彩和 PANTONE® 顏色表)、通過更新的 DesignCenter™ 來管理內容庫的新方式以及具有定位點/縮排功能的全新多行文本編輯器。
輕鬆地共享數據 ─ AutoCAD 2004 進行了優化,可支持團隊環境。DWG 文件明顯更小,使您能夠透過電子郵件更加輕鬆地與他人交換數據。密碼保護和數字特徵文件可使您的數據更加安全,而且您可以製作新的輕型電子設計圖,以方便分發和供處理項目的其他人員查看/出圖。
有效地進行管理 ─ 需要部署和管理軟件的 CAD 管理員可以獲得新的 IT 工具來管理他們的軟件許可,並能夠讓用戶使用 FLEXlm® 從網絡服務器借用許可。AutoCAD 2004 還透過了“專為 Windows XP 而設計 ─ 針對企業進行了優化”認証。該軟體不僅能在基本“用戶”許可下工作,而且還能與 AutoCAD 軟體的任何以前版本並列安裝。
1.5 AutoCAD 2004 的系統要求是什麼?
AutoCAD 2004 的系統要求如下︰操作系統:Microsoft Windows® XP Professional、Home 或 Tablet PC 版本、Windows 2000 或Windows NT® 4.0(SP 6a 或更高版本)
Web 瀏覽器:Microsoft® Internet Explorer 6.0
處理器:Pentium® III 或更高版本 500 Mhz(最低) 800 Mhz(推荐)
RAM:258 MB(最低)
視頻:1024 x 768 VGA,真色彩(最低)
硬盤:安裝需要 300 MB
指示設備:鼠標、跟蹤球或其它設備
CD-ROM:任意速度(僅限于安裝)
可選硬件:Open GL 兼容的三維視頻卡
1.6 AutoCAD 2004 支持運行 Windows XP 的 Tablet PC 嗎?
AutoCAD 2004 軟體支持 Microsoft Windows XP for Tablet PC 作業系統功能,包括指定橫向或縱向方向及左旋或右旋,能讓您充分利用 Tablet PC 提供的便攜性。 在 Tablet PC 上,AutoCAD 2004 能夠針對適當的方向設置自動調整,並確保在正確的游標一方彈出菜單和工具提示。 1.7 AutoCAD LT 2004 與 AutoCAD 2004 的主要區別是什麼?
AutoCAD 2004 與 AutoCAD LT® 2004 使用相同的軟件體系結構和技術。而且兩種產品都提供協作功能,可豐富、擴展和簡化您的設計過程,從而節省時間和成本。但 AutoCAD 2004 是一個完整的平台,在以下主要領域提供新增的功能︰ 廣泛的製圖生產力特性 ─ AutoCAD 2004 提供的圖層和屬性管理工具能讓您給設計添加智能。AutoCAD 2004 還包括 AutoCAD LT 2004 所沒有的快速尺寸標注、新增的視口 (viewport) 選項和數據庫連接增強。
CAD 管理員工具 ─ AutoCAD 2004 包含 CAD 標準功能,能讓 CAD 管理員跨整個設計小組審查和管理標準。如果未經檢查,在小組成員之間共享的文件就會輕易地產生昂貴的偏差和錯誤。您需要能夠真正節省您的時間並確保各方面一致性的標準管理工具。AutoCAD LT 2004 不提供這種功能。
IT 管理員工具 ─ AutoCAD 2004 網路許可管理技術能使 IT 管理員最大限度地提升您公司技術投資的回報。AutoCAD LT 2004 不提供 AutoCAD 2004 所包含的高級網路許可管理功能,如報告和靈活的許可管理工具。AutoCAD LT 2004 只提供一個幫助您在網路環境中部署該產品的工具。
製圖和系統性能 ─ AutoCAD 2004 節省了 CAD 用戶日常操作的時間,如更快的文件打開和保存操作、加快選項卡之間切換的製圖高速緩存以及在單一系統上使用多個處理器的能力。而 AutoCAD LT 2004 無法提供這些功能。
定製 ─ AutoCAD 2004 平台通過應用程序編程接口 (API) 提供一個完全可擴展的製圖和應用程序開發環境,如 Visual LISP™、VBA、ActiveX® 和 ObjectARX®。而 AutoCAD LT 2004 軟體不支持這種類型的定製。
三維設計功能 ─ 運用 AutoCAD 2004,您可以製作、修改、渲染和進行三維對象導航。而 AutoCAD LT 2004 僅限于二維圖紙的製作和編輯。
演示圖形 ─ AutoCAD 2004 具有演示圖形和梯度文件,包括真色彩、PANTONE® 及 RAL DESIGN 和 RAL CLASSIC 顏色系統,可增強您設計的演示效果。

 

最近更新在 週一, 11 五月 2009 21:01
 
«最先前一個171172下一個最後»

頁 172 總共 172