第6講 AutoCAd內(nèi)部命令調(diào)用及用戶交互_第1頁
第6講 AutoCAd內(nèi)部命令調(diào)用及用戶交互_第2頁
第6講 AutoCAd內(nèi)部命令調(diào)用及用戶交互_第3頁
第6講 AutoCAd內(nèi)部命令調(diào)用及用戶交互_第4頁
第6講 AutoCAd內(nèi)部命令調(diào)用及用戶交互_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、1國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)第第6講講 AutoCAD內(nèi)部命令調(diào)用內(nèi)部命令調(diào)用及用戶交互及用戶交互主講人:劉德兒主講人:劉德兒2國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)2 2、使用、使用AutoCADAutoCAD內(nèi)部命令內(nèi)部命令主要內(nèi)容3 3、和用戶交互、和用戶交互4 4、選擇集、選擇集1 1、C+C+類型轉(zhuǎn)換成類型轉(zhuǎn)換成C#C#類型類型3國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)1、C#調(diào)用調(diào)用dll時的類型轉(zhuǎn)換時的類型轉(zhuǎn)換C+(Win 32)C#char*作為輸入?yún)?shù)轉(zhuǎn)為char,通過Encoding類對這個string進行編碼后得到的一個

2、char作為輸出參數(shù)轉(zhuǎn)為byte,通過Encoding類對這個byte進行解碼,得到字符串4國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)C+ Dll接口:接口:void CplusplusToCsharp(in char* AgentID, out char* AgentIP);C#中的聲明:DllImport(Example.dll)public static extern void CplusplusToCsharp(char AgentID, byte AgentIP);C#中的調(diào)用:中的調(diào)用:Encoding encode = Encoding.Default;byte tAg

3、entID;byte tAgentIP;string AgentIP;tAgentID = new byte100;tAgentIP = new byte100;CplusplusToCsharp(encode.GetChars(tAgentID), tAgentIP);AgentIPi = encode.GetString(tAgentIP,i*Length,Length);5國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)1、C#調(diào)用調(diào)用dll時的類型轉(zhuǎn)換時的類型轉(zhuǎn)換HandleIntPtrHwndIntPtrint*ref intint&ref intvoid*IntPtrunsig

4、ned char*ref byteBOOLboolDWORDint 或 uint(int 更常用一些)6國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)枚舉類型枚舉類型Win32:BOOL MessageBeep(UINT uType / 聲音類型聲音類型); 其中其中的聲音類型為枚舉類型中的某一值。的聲音類型為枚舉類型中的某一值。C#:用戶需要自己定義一個枚舉類型:public enum BeepType SimpleBeep = -1, IconAsterisk = 0 x00000040, IconExclamation = 0 x00000030, IconHand = 0 x00

5、000010, IconQuestion = 0 x00000020, Ok = 0 x00000000,C#中導(dǎo)入該函數(shù):中導(dǎo)入該函數(shù):DllImport(user32.dll)public static extern bool MessageBeep(BeepType beepType);C#中調(diào)用該函數(shù):中調(diào)用該函數(shù): MessageBeep(BeepType.IconQuestion);7國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)1、C#調(diào)用調(diào)用dll時的類型轉(zhuǎn)換時的類型轉(zhuǎn)換結(jié)構(gòu)結(jié)構(gòu)轉(zhuǎn)換轉(zhuǎn)換Win32:使用結(jié)構(gòu)指針作為參數(shù)的函數(shù):BOOL GetSystemPowerStat

6、us(LPSYSTEM_POWER_STATUS lpSystemPowerStatus);Win32中該結(jié)構(gòu)體的定義:中該結(jié)構(gòu)體的定義:typedef struct _SYSTEM_POWER_STATUS BYTE ACLineStatus;BYTE BatteryFlag;BYTE BatteryLifePercent;BYTE Reserved1;DWORDBatteryLifeTime;DWORDBatteryFullLifeTime; SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;8國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)1、C

7、#調(diào)用調(diào)用dll時的類型轉(zhuǎn)換時的類型轉(zhuǎn)換C#:用戶自定義相應(yīng)的結(jié)構(gòu)體:用戶自定義相應(yīng)的結(jié)構(gòu)體:struct SystemPowerStatus byte ACLineStatus; byte batteryFlag; byte batteryLifePercent; byte reserved1; int batteryLifeTime; int batteryFullLifeTime;C#中導(dǎo)入該函數(shù):中導(dǎo)入該函數(shù):DllImport(kernel32.dll)public static extern bool GetSystemPowerStatus( ref SystemPowerSta

8、tus systemPowerStatus);C#中調(diào)用該函數(shù):中調(diào)用該函數(shù):SystemPowerStatus sps;.sps初始化賦值GetSystemPowerStatus(ref sps);9國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)1、C#調(diào)用調(diào)用dll時的類型轉(zhuǎn)換時的類型轉(zhuǎn)換字符串字符串對于字符串的處理分為以下幾種情況:1、字、字符串常量指針的處符串常量指針的處理理(LPCTSTR),也也適應(yīng)于字符串常量的處理,適應(yīng)于字符串常量的處理,.net中的中的string類型是不可變的類類型是不可變的類型型2、字、字符串緩沖區(qū)的處理(符串緩沖區(qū)的處理(char*),即),即對于

9、變長字符串的處理,對于變長字符串的處理,.net中中StringBuilder可用作緩沖可用作緩沖區(qū)區(qū)10國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)1、C#調(diào)用調(diào)用dll時的類型轉(zhuǎn)換時的類型轉(zhuǎn)換-字符字符串串實實例例Win32:BOOL GetFile(LPCTSTR lpRootPathName);C#:函數(shù)聲明:DllImport(kernel32.dll, CharSet = CharSet.Auto)static extern bool GetFile (MarshalAs(UnmanagedType.LPTStr)string rootPathName);函數(shù)調(diào)用:函數(shù)調(diào)用

10、:string pathname;GetFile(pathname);備注:備注:DllImport中的CharSet是為了說明自動地調(diào)用該函數(shù)相關(guān)的Ansi版本或者Unicode版本11國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)1、C#調(diào)用調(diào)用dll時的類型轉(zhuǎn)換時的類型轉(zhuǎn)換-字符串字符串實實例例變長字符串處理:變長字符串處理:C#:函數(shù)聲明:DllImport(kernel32.dll, CharSet = CharSet.Auto)public static extern int GetShortPathName( MarshalAs(UnmanagedType.LPTStr)

11、string path, MarshalAs(UnmanagedType.LPTStr) StringBuilder shortPath, int shortPathLength);函數(shù)調(diào)用:函數(shù)調(diào)用:StringBuilder shortPath = new StringBuilder(80);int result = GetShortPathName(d:test.jpg, shortPath, shortPath.Capacity);string s = shortPath.ToString();12國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)1、C#調(diào)用調(diào)用dll時的類型轉(zhuǎn)換時

12、的類型轉(zhuǎn)換struct具有內(nèi)嵌字符數(shù)組的結(jié)構(gòu):具有內(nèi)嵌字符數(shù)組的結(jié)構(gòu):Win32:typedef struct _TIME_ZONE_INFORMATION LONG Bias;WCHARStandardName 32 ;SYSTEMTIME StandardDate;LONG StandardBias;WCHARDaylightName 32 ;SYSTEMTIME DaylightDate;LONG DaylightBias; TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION;13國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)1、C#調(diào)用調(diào)

13、用dll時的類型轉(zhuǎn)換時的類型轉(zhuǎn)換C#:StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)struct TimeZoneInformation public int bias; MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32) public string standardName; DateTime standardDate; public int standardBias; MarshalAs(UnmanagedType.ByValTStr, SizeConst = 3

14、2) public string daylightName; SystemTime daylightDate; public int daylightBias;14國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)1、C#調(diào)用調(diào)用dll時的類型轉(zhuǎn)換時的類型轉(zhuǎn)換具有回調(diào)的函數(shù)Win32:BOOL EnumDesktops(HWINSTA hwinsta, / 窗口實例的句柄ENUMDESKTOPPROC lpEnumFunc,/ 回調(diào)函回調(diào)函數(shù)數(shù)LPARAM lParam/ 用于回調(diào)函數(shù)的值);回調(diào)函數(shù)DESKTOPENUMPROC的聲明:BOOL CALLBACK EnumDesktopPr

15、oc(LPTSTR lpszDesktop,/ 桌面名稱LPARAM lParam/ 用戶定義的值);15國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)1、C#調(diào)用調(diào)用dll時的類型轉(zhuǎn)換時的類型轉(zhuǎn)換C#:將回調(diào)函數(shù)的聲明轉(zhuǎn)化為委托:delegate bool EnumDesktopProc(MarshalAs(UnmanagedType.LPTStr) string desktopName, int lParam);該函數(shù)在C#中的聲明:DllImport(user32.dll, CharSet = CharSet.Auto)static extern bool EnumDesktops

16、( IntPtr windowStation, EnumDesktopProc callback, int lParam);16國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)2 2、使用、使用AutoCADAutoCAD內(nèi)部命令內(nèi)部命令主要內(nèi)容3 3、和用戶交互、和用戶交互4 4、選擇集、選擇集1 1、C+C+類型轉(zhuǎn)換成類型轉(zhuǎn)換成C#C#類型類型17國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)2、使用、使用AutoCAD內(nèi)部命令內(nèi)部命令n方式一:使用方式一:使用SendStringToExecute n方式二:使用方式二:使用P/Invoke 18國家制造業(yè)信息化工程重大項目-C

17、AD二次開發(fā)二次開發(fā)使用使用SendStringToExecutenSendStringToExecute 方法將單個字符串發(fā)送到命方法將單個字符串發(fā)送到命令行。該字符串必須包含提供給所執(zhí)行命令的參數(shù),令行。該字符串必須包含提供給所執(zhí)行命令的參數(shù),并依照該命令的提示順序所要求的次序排列這些參數(shù)并依照該命令的提示順序所要求的次序排列這些參數(shù) n使用使用 SendStringToExecute 執(zhí)行命令是異步的,直執(zhí)行命令是異步的,直到到 .NET 命令結(jié)束,否則不會被調(diào)用命令結(jié)束,否則不會被調(diào)用 19國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)使用使用P/Invoke方式方式n在在Obj

18、ectARX編程中,可以使用以下函數(shù)來執(zhí)行編程中,可以使用以下函數(shù)來執(zhí)行AutoCAD內(nèi)部的命令內(nèi)部的命令acedCommandacedCmd20國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)acedCommand函數(shù)函數(shù)nC+acedCommand函數(shù)的定義為:函數(shù)的定義為: int acedCommand(int rtype, . unnamed); 21國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)22國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)acedCommand函數(shù)函數(shù)n.NET中調(diào)用中調(diào)用acedCommand函數(shù)函數(shù)實例:繪制圓實例:繪制圓23國家制造業(yè)信息

19、化工程重大項目-CAD二次開發(fā)二次開發(fā)效果效果24國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)acedCommand函數(shù)函數(shù)n創(chuàng)建將塊生成創(chuàng)建將塊生成ICON命令命令BlockIcon25國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)acedCmd函數(shù)函數(shù)nC+中,中,acedCmd函數(shù)的定義為:函數(shù)的定義為: int acedCmd(const struct resbuf * rbp); n該函數(shù)的參數(shù)是一個該函數(shù)的參數(shù)是一個resbuf類型的指針,這里需要的結(jié)果緩類型的指針,這里需要的結(jié)果緩沖區(qū)可以由沖區(qū)可以由acutBuildList函數(shù)生成。由于函數(shù)生成。由于acedCo

20、mmand函函數(shù)實質(zhì)上也是為要執(zhí)行的命令構(gòu)造了一個數(shù)實質(zhì)上也是為要執(zhí)行的命令構(gòu)造了一個resbuf結(jié)構(gòu),因此結(jié)構(gòu),因此acedCmd函數(shù)和函數(shù)和acedCommand函數(shù)完全能夠?qū)崿F(xiàn)相同的功函數(shù)完全能夠?qū)崿F(xiàn)相同的功能能26國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)acedCmd函數(shù)函數(shù)union ads_u_val ads_real rreal; ads_real rpoint3; short rint; / Must be declared short, not int. char *rstring;long rlname2; long rlong; struct ads_bina

21、ry rbinary; ; struct resbuf struct resbuf *rbnext; / Linked list pointer short restype; union ads_u_val resval; ; 27國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)acedCmd函數(shù)函數(shù)nC#中使用中使用acedCmd函數(shù)函數(shù)創(chuàng)建創(chuàng)建Zoom實例實例28國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)acedCmd函數(shù)函數(shù)nC#中使用中使用acedCmd函數(shù)函數(shù)創(chuàng)建創(chuàng)建Circle實例實例29國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)2 2、使用、使用AutoC

22、ADAutoCAD內(nèi)部命令內(nèi)部命令主要內(nèi)容3 3、和用戶交互、和用戶交互4 4、選擇集、選擇集1 1、C+C+類型轉(zhuǎn)換成類型轉(zhuǎn)換成C#C#類型類型30國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)3、和用戶交互、和用戶交互nAutoCAD中命令提示中命令提示如在如在AutoCAD中執(zhí)行中執(zhí)行PLINE命令時,能夠得到如下的命令時,能夠得到如下的命令提示:命令提示: 命令命令: _pline 指定起點指定起點: 當(dāng)前線寬為當(dāng)前線寬為 0.0000 指定下一個點或指定下一個點或 圓弧圓弧(A)/半寬半寬(H)/長度長度(L)/放棄放棄(U)/寬度寬度(W): 指定下一點或指定下一點或 圓弧圓

23、弧(A)/閉合閉合(C)/半寬半寬(H)/長度長度(L)/放棄放棄(U)/寬度寬度(W): 其中的提示其中的提示“指定下一個點或指定下一個點或 圓弧圓弧(A)/半寬半寬(H)/長長度度(L)/放棄放棄(U)/寬度寬度(W):”就將提示用戶輸入點和關(guān)就將提示用戶輸入點和關(guān)鍵字結(jié)合在一起。鍵字結(jié)合在一起。31國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā) 3、和用戶交互、和用戶交互nC+ ObjectARX中提供了多個提示用戶輸入的全局函數(shù),包括中提供了多個提示用戶輸入的全局函數(shù),包括acedGetString、acedGetPoint、acedGetInt、acedGetKword和和ac

24、edGetReal等等nC#命名空間:命名空間:Autodesk.AutoCAD.EditorInputGetString、GetPoint、GetInt、GetKword和和GetReal等等輸入提示并獲取輸入結(jié)果模板輸入提示并獲取輸入結(jié)果模板輸入提示輸入提示 PromptXXXOptions pOptions = new PromptXXXOptions(“”)獲得輸入結(jié)果獲得輸入結(jié)果 (1)有指定類型返回結(jié)果)有指定類型返回結(jié)果 PromptXXXResult pResult = ed.GetXXX(pOptions ); (2)沒有指定類型返回結(jié)果()沒有指定類型返回結(jié)果(string

25、型型) PromptResult pResult = ed.GetXXX(pOptions ); (3)得到具體結(jié)果,如)得到具體結(jié)果,如 string DK = pResult .StringResult.Trim();32國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)3、和用戶交互、和用戶交互n輸入提示抽象類:輸入提示抽象類:PromptOptions,所有具體提示,所有具體提示輸入類都繼承了該類輸入類都繼承了該類33國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)3、和用戶交互、和用戶交互-實例實例n讀入字符串讀入字符串34國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)3

26、、和用戶交互、和用戶交互-實例實例n讀入讀入Double型數(shù)據(jù)型數(shù)據(jù)35國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)3、和用戶交互、和用戶交互-實例實例n讀入讀入Point36國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)3、和用戶交互、和用戶交互-實例實例n拾取實體拾取實體37國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)3、和用戶交互、和用戶交互-實例實例n打開打開dwg文件(文件(using Autodesk.AutoCAD.Windows;)38國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)2 2、使用、使用AutoCADAutoCAD內(nèi)部命令內(nèi)部命令主要內(nèi)容

27、3 3、和用戶交互、和用戶交互4 4、選擇集、選擇集1 1、C+C+類型轉(zhuǎn)換成類型轉(zhuǎn)換成C#C#類型類型39國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)4、選擇集、選擇集n1)獲得)獲得PickFirst選擇集選擇集 n2)在圖形區(qū)域中選擇對象)在圖形區(qū)域中選擇對象 n3)添加或合并多個選擇集)添加或合并多個選擇集 n4)定義選擇集過濾規(guī)則)定義選擇集過濾規(guī)則 n5)從選擇集中移除對象)從選擇集中移除對象 40國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)4.1、獲得獲得PickFirst選擇集選擇集 nPickFirst 選擇集是在先選擇對象后啟動命令的時候創(chuàng)建的選擇集是在先選

28、擇對象后啟動命令的時候創(chuàng)建的n為了獲得為了獲得 PickFirst 選擇集的對象,必須滿足:選擇集的對象,必須滿足:PICKFIRST 系統(tǒng)變量必須設(shè)置為系統(tǒng)變量必須設(shè)置為 1 必須給命令定義必須給命令定義 UsePickSet 命令標(biāo)記,用以通知命令要使用命令標(biāo)記,用以通知命令要使用 Pickfirst 選擇集選擇集 調(diào)用調(diào)用 SelectImplied 方法獲得方法獲得 PickFirst 選擇集選擇集 41國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)4.2、在圖形區(qū)域中選擇對象在圖形區(qū)域中選擇對象 n允許用戶從圖形中選擇對象的函數(shù):允許用戶從圖形中選擇對象的函數(shù): GetSele

29、ction:提示用戶從屏幕中拾取對象提示用戶從屏幕中拾取對象 SelectAll:在當(dāng)前空間中選擇所有對象,但不包括鎖在當(dāng)前空間中選擇所有對象,但不包括鎖定或凍結(jié)的定或凍結(jié)的 SelectCrossingPolygon:選擇與通過指定點定義的多選擇與通過指定點定義的多邊形內(nèi)部和相交的對象。多邊形可以是任何形狀但不邊形內(nèi)部和相交的對象。多邊形可以是任何形狀但不能與它自己相交或接觸能與它自己相交或接觸 SelectCrossingWindow:選擇與通過兩個點定義的區(qū)選擇與通過兩個點定義的區(qū)域內(nèi)部和相交的對象域內(nèi)部和相交的對象SelectFence:選擇與選擇柵格相交的所有對象。柵格選擇與選擇與選

30、擇柵格相交的所有對象。柵格選擇與多邊形相交選擇是相似的,不同的是柵格不能封閉,而且柵格可多邊形相交選擇是相似的,不同的是柵格不能封閉,而且柵格可以與自己相交以與自己相交42國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)4.2、在圖形區(qū)域中選擇對象在圖形區(qū)域中選擇對象SelectLast:選擇當(dāng)前空間中最后創(chuàng)建的對象:選擇當(dāng)前空間中最后創(chuàng)建的對象 SelectPrevious:選擇在前一個選擇對象提示時選擇的所:選擇在前一個選擇對象提示時選擇的所有對象有對象 SelectWindow:選擇完全包含在通過兩個點定義的矩形內(nèi):選擇完全包含在通過兩個點定義的矩形內(nèi)部的所有對象部的所有對象 Sel

31、ectWindowPolygon:選擇完全包含在通過點定義的多:選擇完全包含在通過點定義的多邊形里面的對象。多邊形可以是任何形狀但不能與它自己邊形里面的對象。多邊形可以是任何形狀但不能與它自己相交或接觸相交或接觸 SelectAtPoint:選擇經(jīng)過給定點的對象并將它們放到活動:選擇經(jīng)過給定點的對象并將它們放到活動選擇集中去選擇集中去 SelectByPolygon:選擇柵格內(nèi)部的對象并將它們放到活:選擇柵格內(nèi)部的對象并將它們放到活動選擇集中去動選擇集中去 43國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)44國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)4.3、添加或合并多個選擇

32、集、添加或合并多個選擇集 n用戶可以合并多個選擇集,需要創(chuàng)建一個用戶可以合并多個選擇集,需要創(chuàng)建一個 ObjectIdCollection 對象,然后向其中添加多個選擇集的對對象,然后向其中添加多個選擇集的對象的象的 ObjectID 45國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)4.4、定義選擇集過濾規(guī)則、定義選擇集過濾規(guī)則 n選擇集過濾規(guī)則類型:選擇集過濾規(guī)則類型:使用選擇集過濾器定義選擇集規(guī)則使用選擇集過濾器定義選擇集規(guī)則 在選擇集過濾器中指定多個條件在選擇集過濾器中指定多個條件 添加復(fù)雜的過濾器列表條件添加復(fù)雜的過濾器列表條件 在選擇器過濾器條件中使用通配符在選擇器過濾器條件

33、中使用通配符 過濾擴展數(shù)據(jù)過濾擴展數(shù)據(jù) 46國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)4.4.1、使用選擇集過濾器定義選擇集規(guī)使用選擇集過濾器定義選擇集規(guī)則則 n常用過濾器的常用過濾器的 DXF 組碼組碼 47國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)4.4.1、使用選擇集過濾器定義選擇集規(guī)使用選擇集過濾器定義選擇集規(guī)則則n過濾器類過濾器類SelectionFilter48國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)4.4.1、使用選擇集過濾器定義選擇集規(guī)使用選擇集過濾器定義選擇集規(guī)則則n實例:使用過濾器選擇圓圖形實體實例:使用過濾器選擇圓圖形實體49國家制造業(yè)信息

34、化工程重大項目-CAD二次開發(fā)二次開發(fā)4.4.2、在選擇集過濾器中指定多個條件在選擇集過濾器中指定多個條件 n示例,給定兩個選擇對象的過濾條件:示例,給定兩個選擇對象的過濾條件:對象必須是圓,并且對象必須是圓,并且必須在圖層必須在圖層 0 上上50國家制造業(yè)信息化工程重大項目-CAD二次開發(fā)二次開發(fā)4.4.3、添加復(fù)雜的過濾器列表條件添加復(fù)雜的過濾器列表條件 n指定多個選擇條件的方式:指定多個選擇條件的方式:對于數(shù)字項,用戶可以指定關(guān)系運算(例如,圓的半對于數(shù)字項,用戶可以指定關(guān)系運算(例如,圓的半徑必須大于或等于徑必須大于或等于 5.0)對于所有項,用戶可以指定邏輯運算(例如對于所有項,用戶可以指定邏輯運算(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論