diff --git a/CADPythonShell/CADPythonShell.csproj b/CADPythonShell/CADPythonShell.csproj index 896c33b..0caa312 100644 --- a/CADPythonShell/CADPythonShell.csproj +++ b/CADPythonShell/CADPythonShell.csproj @@ -7,16 +7,15 @@ false true true - x64 Debug A23 $(Configurations);Release A23 true - + true full @@ -27,7 +26,7 @@ none $(DefineConstants);RELEASE - + $(DefineConstants);A23 @@ -229,7 +228,6 @@ - diff --git a/CADPythonShell/PackageContents.xml b/CADPythonShell/PackageContents.xml index 77d42fc..479e08f 100644 --- a/CADPythonShell/PackageContents.xml +++ b/CADPythonShell/PackageContents.xml @@ -26,25 +26,5 @@ AppDescription="a module snoop entities of CAD PythonShell" LoadOnAutoCADStartup="True"> - - - - - - - - \ No newline at end of file diff --git a/CADPythonShell/Properties/launchSettings.json b/CADPythonShell/Properties/launchSettings.json index 0c8962e..640621d 100644 --- a/CADPythonShell/Properties/launchSettings.json +++ b/CADPythonShell/Properties/launchSettings.json @@ -1,6 +1,6 @@ { "profiles": { - "CAD23": { + "CADPythonShell": { "commandName": "Executable", "executablePath": "C:\\Program Files\\Autodesk\\AutoCAD 2023\\acad.exe" } diff --git a/CADRuntime/CADRuntime.csproj b/CADRuntime/CADRuntime.csproj index 2462444..1019bfd 100644 --- a/CADRuntime/CADRuntime.csproj +++ b/CADRuntime/CADRuntime.csproj @@ -54,8 +54,6 @@ - - @@ -64,8 +62,6 @@ - - diff --git a/CADRuntime/Resources/IronPython.3.4.0.zip b/CADRuntime/Resources/IronPython.3.4.0.zip deleted file mode 100644 index 75452e6..0000000 Binary files a/CADRuntime/Resources/IronPython.3.4.0.zip and /dev/null differ diff --git a/CADRuntime/ScriptExecutor.cs b/CADRuntime/ScriptExecutor.cs index 3cf9d4d..42f3130 100644 --- a/CADRuntime/ScriptExecutor.cs +++ b/CADRuntime/ScriptExecutor.cs @@ -104,7 +104,7 @@ private void AddEmbeddedLib(ScriptEngine engine) // use embedded python lib var asm = this.GetType().Assembly; var resQuery = from name in asm.GetManifestResourceNames() - where name.ToLowerInvariant().EndsWith("ironpython.3.4.0.zip") + where name.ToLowerInvariant().EndsWith("python_27_lib.zip") select name; var resName = resQuery.Single(); var importer = new IronPython.Modules.ResourceMetaPathImporter(asm, resName); diff --git a/CHANGELOG.md b/CHANGELOG.md index a17beda..d64a875 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,4 @@ # Changelog -- 2022-12-17 **1.1.1** - - Fix code Autocomple List ironpython 3.4 -- 2022-12-17 **1.1.0** - - Fix Assembly Security from IronPython 3.4 [#6](https://github.com/chuongmep/CadPythonShell/issues/6) -- 2022-12-16 **1.0.9** - - Support IronPython 3.4 - 2022-05-12 **1.0.8** - Fix bug duplicate snoop [#4](https://github.com/chuongmep/CadPythonShell/issues/4) - 2022-04-12 **1.0.7** diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d8d7e45..309469f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,15 +8,6 @@ - In the dev branch, implement and test you changes specific to the feature. - Build the project and make sure everything works. - Create well-documented commits of your changes. -- Update Submodule: - - git submodule update --remote -- Commit submodules in case change in submodule - - cd path/to/submodule - - git add - - git commit -m "comment" - - git push - - Create a pull request to submodules -- Update and commit submodule: git submodule update --remote - Submit a pull request to the origin:dev branch. #### Please avoid: diff --git a/Images/AlertDialogDemo.png b/Images/AlertDialogDemo.png deleted file mode 100644 index 6d64460..0000000 Binary files a/Images/AlertDialogDemo.png and /dev/null differ diff --git a/Images/ConfigPythonShell.png b/Images/ConfigPythonShell.png new file mode 100644 index 0000000..5fab0e7 Binary files /dev/null and b/Images/ConfigPythonShell.png differ diff --git a/Images/cadpythonshell3.png b/Images/cadpythonshell3.png deleted file mode 100644 index ce641aa..0000000 Binary files a/Images/cadpythonshell3.png and /dev/null differ diff --git a/Images/configure.png b/Images/configure.png deleted file mode 100644 index 15e1ca9..0000000 Binary files a/Images/configure.png and /dev/null differ diff --git a/Installer/Installer.cs b/Installer/Installer.cs index 3eab187..5449423 100644 --- a/Installer/Installer.cs +++ b/Installer/Installer.cs @@ -13,7 +13,7 @@ const string projectName = "CADPythonShell"; const string outputName = "CADPythonShell"; const string outputDir = "output"; -const string version = "1.1.1"; +const string version = "1.0.8"; var fileName = new StringBuilder().Append(outputName).Append("-").Append(version); var project = new Project diff --git a/PythonConsoleControl/PythonConsoleCompletionDataProvider.cs b/PythonConsoleControl/PythonConsoleCompletionDataProvider.cs index 6774dd6..c9c2afe 100644 --- a/PythonConsoleControl/PythonConsoleCompletionDataProvider.cs +++ b/PythonConsoleControl/PythonConsoleCompletionDataProvider.cs @@ -63,7 +63,7 @@ public ICompletionData[] GenerateCompletionData(string line) string dirCommand = "dir(" + name + ")"; object value = commandLine.ScriptScope.Engine.CreateScriptSourceFromString(dirCommand, SourceCodeKind.Expression).Execute(commandLine.ScriptScope); AutocompletionInProgress = false; - foreach (object member in (value as IronPython.Runtime.PythonList)) + foreach (object member in (value as IronPython.Runtime.List)) { items.Add(new PythonCompletionData((string)member, name, commandLine, false)); } diff --git a/PythonConsoleControl/PythonConsoleControl.csproj b/PythonConsoleControl/PythonConsoleControl.csproj index e680bc3..17ce1c4 100644 --- a/PythonConsoleControl/PythonConsoleControl.csproj +++ b/PythonConsoleControl/PythonConsoleControl.csproj @@ -50,10 +50,6 @@ SettingsSingleFileGenerator - - - - Project diff --git a/README.md b/README.md index cdb783c..58a4fcb 100644 --- a/README.md +++ b/README.md @@ -21,14 +21,6 @@ The biggest limitation is that you can't deploy DLLs with custom scripts at this ![](Images/Ribbon.png) -## IronPython 3 - -IronPython 3.4 uses Python 3.4 syntax and standard libraries and so your Python code will need to be updated accordingly. There are numerous tools and guides available on the web to help porting from Python 2 to 3. - -IronPython 3 targets Python 3, including the re-organized standard library, Unicode strings, and all of the other new features.with user upgrade from **IronPython 2** to **IronPython 3**, please follow [Upgrade from IronPython 2 to IronPython 3](https://github.com/IronLanguages/ironpython3/blob/master/Documentation/upgrading-from-ipy2.md). - -Various differences between IronPython and CPython can follow at [Differences IronPython and CPython](https://github.com/IronLanguages/ironpython3/blob/master/Documentation/differences-from-c-python.md). - ## Features - Interactive IronPython interpreter for exploring the API @@ -50,23 +42,50 @@ Various differences between IronPython and CPython can follow at [Differences Ir Note : Support for 5 last version(2019-2023) Autocad or Civil 3D. Older versions can be used but will not guarantee the expected performance. -## Basic Usage CadPythonShell +## Basic Usage - PythonConsole - Open Python Console -![](Images/cadpythonshell3.png) +![](Images/PythonShellConsole.png) - PythonShellSetting - Open Setting Config Console -![](Images/configure.png) - -Use Snoop In Python Shell In Python Script : +![](Images/ConfigPythonShell.png) - Snoop - Quick Snoop Object Sample In CAD or Civil3D + +![](Images/Snoop.png) + +- SnoopDB - Snoop Database In CAD or Civil3D + +![](Images/SnoopDB.png) + +- SnoopEd - Snoop Editor In CAD or Civil3D + +![](Images/SnoopEditor.png) + +- SnoopEnts - Snoop Entities In CAD or Civil3D + +![](Images/SnoopEntities.png) + +- SnoopNEnts - Snoop Entities Nested In CAD or Civil3D + +- SnoopByHandle - Snoop By Handle In CAD or Civil3D + +![](Images/SnoopByHandle.png) + +- SnoopEvents - Snoop Follow Events In CAD or Civil3D + +![](Images/SnoopEvents.png) + +#### Use Snoop In Python Shell Console + - sn.Snoop(obj) - Snoop Object by Python Console In CAD or Civil3D - snoop(obj) - Snoop Object by Python Console or Execute python code In CAD or Civil3D -Write Console Sample In Console : +![](Images/pythoncmd.png) + +#### Write Console Sample ``` py ed = doc.Editor @@ -74,10 +93,14 @@ ed.WriteMessage("Hello") ``` ![](Images/console.gif) -Create Script Execute `ShowAlertDialog` Demo : +- Try create script get Object ```py import clr +import sys +sys.path.append('C:\Program Files (x86)\IronPython 2.7\Lib') +import os +import math clr.AddReference('acmgd') clr.AddReference('acdbmgd') clr.AddReference('accoremgd') @@ -87,47 +110,22 @@ from Autodesk.AutoCAD.ApplicationServices import * from Autodesk.AutoCAD.EditorInput import * from Autodesk.AutoCAD.DatabaseServices import * from Autodesk.AutoCAD.Geometry import * -doc = Application.DocumentManager.MdiActiveDocument -ed = doc.Editor -db = doc.Database -# Write Code Below -Application.ShowAlertDialog("Hello World!") +adoc = Application.DocumentManager.MdiActiveDocument +ed = adoc.Editor +with adoc.LockDocument(): + with adoc.Database as db: + with db.TransactionManager.StartTransaction() as t: + bt = t.GetObject(db.BlockTableId, OpenMode.ForWrite) + btr = t.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) + for objectid in btr: + obj1 = t.GetObject(objectid, OpenMode.ForRead) + print(obj1) +ed.WriteMessage("Done") ``` - -![](Images/AlertDialogDemo.png) - -Create Script Execute `ShowAlertDialog` Demo : - ![](Images/getobject.png) Note : you can see more example in folder [Script Examples](https://github.com/chuongmep/CadPythonShell/tree/dev/Script%20Examples) -## Basic Usage Snoop - -![](Images/Snoop.png) - -- SnoopDB - Snoop Database In CAD or Civil3D - -![](Images/SnoopDB.png) - -- SnoopEd - Snoop Editor In CAD or Civil3D - -![](Images/SnoopEditor.png) - -- SnoopEnts - Snoop Entities In CAD or Civil3D - -![](Images/SnoopEntities.png) - -- SnoopNEnts - Snoop Entities Nested In CAD or Civil3D - -- SnoopByHandle - Snoop By Handle In CAD or Civil3D - -![](Images/SnoopByHandle.png) - -- SnoopEvents - Snoop Follow Events In CAD or Civil3D - -![](Images/SnoopEvents.png) - ## Contribute - Don't hesitate to file any issues you stumble uppon. (Tho I don't guarantee I'll be able to solve them all for you) diff --git a/RefrencedAssemblies/AdWindows.dll b/RefrencedAssemblies/AdWindows.dll new file mode 100644 index 0000000..494ab99 Binary files /dev/null and b/RefrencedAssemblies/AdWindows.dll differ diff --git a/RefrencedAssemblies/ICSharpCode.AvalonEdit.dll b/RefrencedAssemblies/ICSharpCode.AvalonEdit.dll new file mode 100644 index 0000000..69ed201 Binary files /dev/null and b/RefrencedAssemblies/ICSharpCode.AvalonEdit.dll differ diff --git a/RefrencedAssemblies/IronPython.Modules.dll b/RefrencedAssemblies/IronPython.Modules.dll new file mode 100644 index 0000000..f9ae5c2 Binary files /dev/null and b/RefrencedAssemblies/IronPython.Modules.dll differ diff --git a/RefrencedAssemblies/IronPython.SQLite.dll b/RefrencedAssemblies/IronPython.SQLite.dll new file mode 100644 index 0000000..3b46157 Binary files /dev/null and b/RefrencedAssemblies/IronPython.SQLite.dll differ diff --git a/RefrencedAssemblies/IronPython.Wpf.dll b/RefrencedAssemblies/IronPython.Wpf.dll new file mode 100644 index 0000000..8399ec3 Binary files /dev/null and b/RefrencedAssemblies/IronPython.Wpf.dll differ diff --git a/RefrencedAssemblies/IronPython.dll b/RefrencedAssemblies/IronPython.dll new file mode 100644 index 0000000..3a7e463 Binary files /dev/null and b/RefrencedAssemblies/IronPython.dll differ diff --git a/RefrencedAssemblies/Microsoft.Dynamic.dll b/RefrencedAssemblies/Microsoft.Dynamic.dll new file mode 100644 index 0000000..0d7e6a7 Binary files /dev/null and b/RefrencedAssemblies/Microsoft.Dynamic.dll differ diff --git a/RefrencedAssemblies/Microsoft.Scripting.Metadata.dll b/RefrencedAssemblies/Microsoft.Scripting.Metadata.dll new file mode 100644 index 0000000..c3cda22 Binary files /dev/null and b/RefrencedAssemblies/Microsoft.Scripting.Metadata.dll differ diff --git a/RefrencedAssemblies/Microsoft.Scripting.dll b/RefrencedAssemblies/Microsoft.Scripting.dll new file mode 100644 index 0000000..3f0771a Binary files /dev/null and b/RefrencedAssemblies/Microsoft.Scripting.dll differ diff --git a/RefrencedAssemblies/System.Windows.Controls.WpfPropertyGrid.dll b/RefrencedAssemblies/System.Windows.Controls.WpfPropertyGrid.dll new file mode 100644 index 0000000..8d9f2d1 Binary files /dev/null and b/RefrencedAssemblies/System.Windows.Controls.WpfPropertyGrid.dll differ diff --git a/RefrencedAssemblies/WPG.dll b/RefrencedAssemblies/WPG.dll new file mode 100644 index 0000000..ea4623a Binary files /dev/null and b/RefrencedAssemblies/WPG.dll differ diff --git a/RefrencedAssemblies/accoremgd.dll b/RefrencedAssemblies/accoremgd.dll new file mode 100644 index 0000000..a78bddb Binary files /dev/null and b/RefrencedAssemblies/accoremgd.dll differ diff --git a/RefrencedAssemblies/acdbmgd.dll b/RefrencedAssemblies/acdbmgd.dll new file mode 100644 index 0000000..ffab00f Binary files /dev/null and b/RefrencedAssemblies/acdbmgd.dll differ diff --git a/RequiredLibraries/ICSharpCode.AvalonEdit.dll b/RequiredLibraries/ICSharpCode.AvalonEdit.dll new file mode 100644 index 0000000..69ed201 Binary files /dev/null and b/RequiredLibraries/ICSharpCode.AvalonEdit.dll differ diff --git a/RequiredLibraries/IronPython.Modules.dll b/RequiredLibraries/IronPython.Modules.dll new file mode 100644 index 0000000..f9ae5c2 Binary files /dev/null and b/RequiredLibraries/IronPython.Modules.dll differ diff --git a/RequiredLibraries/IronPython.SQLite.dll b/RequiredLibraries/IronPython.SQLite.dll new file mode 100644 index 0000000..3b46157 Binary files /dev/null and b/RequiredLibraries/IronPython.SQLite.dll differ diff --git a/RequiredLibraries/IronPython.Wpf.dll b/RequiredLibraries/IronPython.Wpf.dll new file mode 100644 index 0000000..8399ec3 Binary files /dev/null and b/RequiredLibraries/IronPython.Wpf.dll differ diff --git a/RequiredLibraries/IronPython.dll b/RequiredLibraries/IronPython.dll new file mode 100644 index 0000000..3a7e463 Binary files /dev/null and b/RequiredLibraries/IronPython.dll differ diff --git a/RequiredLibraries/Microsoft.CSharp.dll b/RequiredLibraries/Microsoft.CSharp.dll new file mode 100644 index 0000000..f11e2a9 Binary files /dev/null and b/RequiredLibraries/Microsoft.CSharp.dll differ diff --git a/RequiredLibraries/Microsoft.Dynamic.dll b/RequiredLibraries/Microsoft.Dynamic.dll new file mode 100644 index 0000000..0d7e6a7 Binary files /dev/null and b/RequiredLibraries/Microsoft.Dynamic.dll differ diff --git a/RequiredLibraries/Microsoft.Scripting.AspNet.dll b/RequiredLibraries/Microsoft.Scripting.AspNet.dll new file mode 100644 index 0000000..ecbec45 Binary files /dev/null and b/RequiredLibraries/Microsoft.Scripting.AspNet.dll differ diff --git a/RequiredLibraries/Microsoft.Scripting.Metadata.dll b/RequiredLibraries/Microsoft.Scripting.Metadata.dll new file mode 100644 index 0000000..c3cda22 Binary files /dev/null and b/RequiredLibraries/Microsoft.Scripting.Metadata.dll differ diff --git a/RequiredLibraries/Microsoft.Scripting.dll b/RequiredLibraries/Microsoft.Scripting.dll new file mode 100644 index 0000000..3f0771a Binary files /dev/null and b/RequiredLibraries/Microsoft.Scripting.dll differ diff --git a/RequiredLibraries/System.Windows.Controls.WpfPropertyGrid.dll b/RequiredLibraries/System.Windows.Controls.WpfPropertyGrid.dll new file mode 100644 index 0000000..8d9f2d1 Binary files /dev/null and b/RequiredLibraries/System.Windows.Controls.WpfPropertyGrid.dll differ diff --git a/RequiredLibraries/WPG.dll b/RequiredLibraries/WPG.dll new file mode 100644 index 0000000..ea4623a Binary files /dev/null and b/RequiredLibraries/WPG.dll differ diff --git a/Script Examples/ironpython2.7/countBlock.py b/Script Examples/countBlock.py similarity index 100% rename from Script Examples/ironpython2.7/countBlock.py rename to Script Examples/countBlock.py diff --git a/Script Examples/ironpython2.7/createARC.py b/Script Examples/createARC.py similarity index 100% rename from Script Examples/ironpython2.7/createARC.py rename to Script Examples/createARC.py diff --git a/Script Examples/ironpython2.7/createBox3D.py b/Script Examples/createBox3D.py similarity index 91% rename from Script Examples/ironpython2.7/createBox3D.py rename to Script Examples/createBox3D.py index dd7e53f..3af57ec 100644 --- a/Script Examples/ironpython2.7/createBox3D.py +++ b/Script Examples/createBox3D.py @@ -1,6 +1,10 @@ #Copyright(c) 2021 Hồ Văn Chương # @chuongmep https://chuongmep.com/ import clr +import sys +sys.path.append('C:\Program Files (x86)\IronPython 2.7\Lib') +import os +import math clr.AddReference('acmgd') clr.AddReference('acdbmgd') clr.AddReference('accoremgd') diff --git a/Script Examples/ironpython2.7/createCircleByCenterRadius.py b/Script Examples/createCircleByCenterRadius.py similarity index 100% rename from Script Examples/ironpython2.7/createCircleByCenterRadius.py rename to Script Examples/createCircleByCenterRadius.py diff --git a/Script Examples/ironpython2.7/createCircleByPickPointEnterRadius.py b/Script Examples/createCircleByPickPointEnterRadius.py similarity index 92% rename from Script Examples/ironpython2.7/createCircleByPickPointEnterRadius.py rename to Script Examples/createCircleByPickPointEnterRadius.py index 1207d75..3961019 100644 --- a/Script Examples/ironpython2.7/createCircleByPickPointEnterRadius.py +++ b/Script Examples/createCircleByPickPointEnterRadius.py @@ -1,6 +1,10 @@ #Copyright(c) 2021, Hồ Văn Chương # @chuongmep, https://chuongmep.com/ import clr +import sys +sys.path.append('C:\Program Files (x86)\IronPython 2.7\Lib') +import os +import math clr.AddReference('acmgd') clr.AddReference('acdbmgd') clr.AddReference('accoremgd') diff --git a/Script Examples/ironpython2.7/createLayerCivil3d.py b/Script Examples/createLayerCivil3d.py similarity index 100% rename from Script Examples/ironpython2.7/createLayerCivil3d.py rename to Script Examples/createLayerCivil3d.py diff --git a/Script Examples/ironpython2.7/createLine.py b/Script Examples/createLine.py similarity index 100% rename from Script Examples/ironpython2.7/createLine.py rename to Script Examples/createLine.py diff --git a/Script Examples/ironpython2.7/createPolyLine.py b/Script Examples/createPolyLine.py similarity index 100% rename from Script Examples/ironpython2.7/createPolyLine.py rename to Script Examples/createPolyLine.py diff --git a/Script Examples/ironpython2.7/deleteObject.py b/Script Examples/deleteObject.py similarity index 100% rename from Script Examples/ironpython2.7/deleteObject.py rename to Script Examples/deleteObject.py diff --git a/Script Examples/ironpython2.7/getObjectIdWithPrompt.py b/Script Examples/getObjectIdWithPrompt.py similarity index 100% rename from Script Examples/ironpython2.7/getObjectIdWithPrompt.py rename to Script Examples/getObjectIdWithPrompt.py diff --git a/Script Examples/ironpython2.7/getcolor.py b/Script Examples/getcolor.py similarity index 100% rename from Script Examples/ironpython2.7/getcolor.py rename to Script Examples/getcolor.py diff --git a/Script Examples/ironpython2.7/getobject.py b/Script Examples/getobject.py similarity index 59% rename from Script Examples/ironpython2.7/getobject.py rename to Script Examples/getobject.py index c272744..396b22e 100644 --- a/Script Examples/ironpython2.7/getobject.py +++ b/Script Examples/getobject.py @@ -16,12 +16,12 @@ ed = adoc.Editor output =[] with adoc.LockDocument(): - with adoc.Database as db: - with db.TransactionManager.StartTransaction() as t: - bt = t.GetObject(db.BlockTableId, OpenMode.ForWrite) - btr = t.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) - for objectid in btr: - obj1 = t.GetObject(objectid, OpenMode.ForRead) - output.append(obj1) - print(obj1) + with adoc.Database as db: + with db.TransactionManager.StartTransaction() as t: + bt = t.GetObject(db.BlockTableId, OpenMode.ForWrite) + btr = t.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) + for objectid in btr: + obj1 = t.GetObject(objectid, OpenMode.ForRead) + output.append(obj1) + print(obj1) ed.WriteMessage("Done") \ No newline at end of file diff --git a/Script Examples/ironpython2.7/getselection.py b/Script Examples/getselection.py similarity index 100% rename from Script Examples/ironpython2.7/getselection.py rename to Script Examples/getselection.py diff --git a/Script Examples/ironpython3.4/countBlock.py b/Script Examples/ironpython3.4/countBlock.py deleted file mode 100644 index 55b4d41..0000000 --- a/Script Examples/ironpython3.4/countBlock.py +++ /dev/null @@ -1,32 +0,0 @@ -#Many thanks Cyril-Pop -import clr -clr.AddReference('acmgd') -clr.AddReference('acdbmgd') -clr.AddReference('accoremgd') -# Import references from AutoCAD -from Autodesk.AutoCAD.Runtime import * -from Autodesk.AutoCAD.ApplicationServices import * -from Autodesk.AutoCAD.EditorInput import * -from Autodesk.AutoCAD.DatabaseServices import * -from Autodesk.AutoCAD.Geometry import * -doc = Application.DocumentManager.MdiActiveDocument -ed = doc.Editor -db = doc.Database -# Write Code Below -all_blkName = [] -with doc.LockDocument(): - with doc.Database as db: - with db.TransactionManager.StartTransaction() as t: - bt = t.GetObject(db.BlockTableId,OpenMode.ForRead) - btr = t.GetObject(bt[BlockTableRecord.ModelSpace],OpenMode.ForRead) - for objectid in btr: - blkRef = t.GetObject(objectid, OpenMode.ForRead) - if isinstance(blkRef, BlockReference): - if blkRef.IsDynamicBlock: - block = t.GetObject(blkRef.DynamicBlockTableRecord, OpenMode.ForRead) - all_blkName.append(block.Name) - else: - all_blkName.append(blkRef.Name) - resultcount = ["{} - total:{}".format(x, all_blkName.count(x)) for x in set(all_blkName)] - print("\n".join(resultcount)) - t.Commit() \ No newline at end of file diff --git a/Script Examples/ironpython3.4/createARC.py b/Script Examples/ironpython3.4/createARC.py deleted file mode 100644 index 5cf8dfc..0000000 --- a/Script Examples/ironpython3.4/createARC.py +++ /dev/null @@ -1,29 +0,0 @@ -#Copyright(c) 2021, Hồ Văn Chương -# @chuongmep, https://chuongmep.com/ -import clr -import math -clr.AddReference('acmgd') -clr.AddReference('acdbmgd') -clr.AddReference('accoremgd') -# Import references from AutoCAD -from Autodesk.AutoCAD.Runtime import * -from Autodesk.AutoCAD.ApplicationServices import * -from Autodesk.AutoCAD.EditorInput import * -from Autodesk.AutoCAD.DatabaseServices import * -from Autodesk.AutoCAD.Geometry import * -doc = Application.DocumentManager.MdiActiveDocument -ed = doc.Editor -db = doc.Database -#Code Here : -with doc.LockDocument(): - with doc.Database as db: - with db.TransactionManager.StartTransaction() as t: - bt = t.GetObject(db.BlockTableId,OpenMode.ForRead) - btr = t.GetObject(bt[BlockTableRecord.ModelSpace],OpenMode.ForWrite) - centerPt = Point3d(0,0,0) - radius = 50 - arc = Arc(centerPt,Vector3d.ZAxis,radius,0,math.pi / 2) - btr.AppendEntity(arc) - t.AddNewlyCreatedDBObject(arc,True) - t.Commit() - print("Arc Created") \ No newline at end of file diff --git a/Script Examples/ironpython3.4/createCircleByCenterRadius.py b/Script Examples/ironpython3.4/createCircleByCenterRadius.py deleted file mode 100644 index ce71fb3..0000000 --- a/Script Examples/ironpython3.4/createCircleByCenterRadius.py +++ /dev/null @@ -1,28 +0,0 @@ -#Copyright(c) 2021, Hồ Văn Chương -# @chuongmep, https://chuongmep.com/ -import clr -clr.AddReference('acmgd') -clr.AddReference('acdbmgd') -clr.AddReference('accoremgd') -# Import references from AutoCAD -from Autodesk.AutoCAD.Runtime import * -from Autodesk.AutoCAD.ApplicationServices import * -from Autodesk.AutoCAD.EditorInput import * -from Autodesk.AutoCAD.DatabaseServices import * -from Autodesk.AutoCAD.Geometry import * -doc = Application.DocumentManager.MdiActiveDocument -ed = doc.Editor -db = doc.Database -#Code Here : -with doc.LockDocument(): - with doc.Database as db: - with db.TransactionManager.StartTransaction() as t: - bt = t.GetObject(db.BlockTableId,OpenMode.ForRead) - btr = t.GetObject(bt[BlockTableRecord.ModelSpace],OpenMode.ForWrite) - centerPt = Point3d(0,0,0) - radius = 50 - circle = Circle(centerPt, Vector3d.ZAxis, radius) - btr.AppendEntity(circle) - t.AddNewlyCreatedDBObject(circle,True) - t.Commit() - print("Circle Created") \ No newline at end of file diff --git a/Script Examples/ironpython3.4/createLayerCivil3d.py b/Script Examples/ironpython3.4/createLayerCivil3d.py deleted file mode 100644 index 8615e8e..0000000 --- a/Script Examples/ironpython3.4/createLayerCivil3d.py +++ /dev/null @@ -1,100 +0,0 @@ -""" -Copyright 2019 Autodesk, Inc. All rights reserved. -# https://forum.dynamobim.com/t/use-dynamo-to-create-and-manipulate-autocad-civil-3d-layers/38567/8 -This file is part of the Civil 3D Python Module. - -""" -__author__ = 'Paolo Emilio Serra - paolo.serra@autodesk.com' -__modifiedby__ = 'Deivid Steffens - deividsteffens@msn.com' -__copyright__ = '2020' -__version__ = '1.0.0' - -import clr - -# Add Assemblies for AutoCAD and Civil 3D APIs -clr.AddReference('acmgd') -clr.AddReference('acdbmgd') -clr.AddReference('accoremgd') -clr.AddReference('AecBaseMgd') -clr.AddReference('AecPropDataMgd') -clr.AddReference('AeccDbMgd') -clr.AddReference('AeccPressurePipesMgd') -clr.AddReference('acdbmgdbrep') -clr.AddReference('System.Windows.Forms') - -# Add references to manage arrays, collections and interact with the user -from System import * -from System.IO import * -from System.Collections.Specialized import * -from System.Windows.Forms import MessageBox - -# Create an alias to the Autodesk.AutoCAD.ApplicationServices.Application class -import Autodesk.AutoCAD.ApplicationServices.Application as acapp - -# Import references from AutoCAD -from Autodesk.AutoCAD.Runtime import * -from Autodesk.AutoCAD.ApplicationServices import * -from Autodesk.AutoCAD.EditorInput import * -from Autodesk.AutoCAD.DatabaseServices import * -from Autodesk.AutoCAD.Geometry import * -from Autodesk.AutoCAD.Colors import Color -from Autodesk.AutoCAD.Colors import ColorMethod -# Import references for PropertySets -from Autodesk.Aec.PropertyData import * -from Autodesk.Aec.PropertyData.DatabaseServices import * - -# Import references for Civil 3D -from Autodesk.Civil.ApplicationServices import * -from Autodesk.Civil.DatabaseServices import * - -adoc = acapp.DocumentManager.MdiActiveDocument -ed = adoc.Editor - -# Example function -def create_layer(name, index): - - indx = int(index) - - # Fail gracefully - if not isinstance(name, str) or len(name) == 0: - raise Exception('The name is not a valid string') - if not isinstance(indx, int) or indx < 0 or indx > 255: - raise Exception('The index component is not a valid integer') - - # replace invalid characters in the name - name = name.replace(':', '_').replace(';', '_').replace(',', '_') - - global adoc - result = False - - with adoc.LockDocument(): - with adoc.Database as db: - with db.TransactionManager.StartTransaction() as t: - # Get the Layer Table Object - lt = t.GetObject(db.LayerTableId, OpenMode.ForRead) - # Check if the layer already exists - if not lt.Has(name): - with LayerTableRecord() as ltr: - ltr = LayerTableRecord() - ltr.Name = name - ltr.Color = Color.FromColorIndex(ColorMethod.ByAci,indx) - lt.UpgradeOpen() - lt.Add(ltr) - lt.DowngradeOpen() - t.AddNewlyCreatedDBObject(ltr, True) - else: - ltr = t.GetObject(lt[name], OpenMode.ForWrite) - # Set the color - if ltr is not None: - ltr.Color = Color.FromColorIndex(ColorMethod.ByAci,indx) - - result = True - t.Commit() - - return result - -for i in range(10): - name = "Test"+ str(i) - create_layer(name,i) - print("Created Layer",name) - diff --git a/Script Examples/ironpython3.4/createLine.py b/Script Examples/ironpython3.4/createLine.py deleted file mode 100644 index 495d747..0000000 --- a/Script Examples/ironpython3.4/createLine.py +++ /dev/null @@ -1,29 +0,0 @@ -#Copyright(c) 2021, Hồ Văn Chương -# @chuongmep, https://chuongmep.com/ -import clr -clr.AddReference('acmgd') -clr.AddReference('acdbmgd') -clr.AddReference('accoremgd') -# Import references from AutoCAD -from Autodesk.AutoCAD.Runtime import * -from Autodesk.AutoCAD.ApplicationServices import * -from Autodesk.AutoCAD.EditorInput import * -from Autodesk.AutoCAD.DatabaseServices import * -from Autodesk.AutoCAD.Geometry import * -doc = Application.DocumentManager.MdiActiveDocument -ed = doc.Editor -db = doc.Database -#Code Here : -objects = [] -p1 = Point3d(0,0,0) -p2 = Point3d(100,100,0) -line1 = Line(p1,p2) -with doc.LockDocument(): - with doc.Database as db: - with db.TransactionManager.StartTransaction() as t: - bt = t.GetObject(db.BlockTableId,OpenMode.ForRead) - btr = t.GetObject(bt[BlockTableRecord.ModelSpace],OpenMode.ForWrite) - btr.AppendEntity(line1) - t.AddNewlyCreatedDBObject(line1,True) - t.Commit() - print("Line Created") \ No newline at end of file diff --git a/Script Examples/ironpython3.4/createPolyLine.py b/Script Examples/ironpython3.4/createPolyLine.py deleted file mode 100644 index cae7b13..0000000 --- a/Script Examples/ironpython3.4/createPolyLine.py +++ /dev/null @@ -1,30 +0,0 @@ -#Copyright(c) 2021, Hồ Văn Chương -# @chuongmep, https://chuongmep.com/ -import clr -clr.AddReference('acmgd') -clr.AddReference('acdbmgd') -clr.AddReference('accoremgd') -# Import references from AutoCAD -from Autodesk.AutoCAD.Runtime import * -from Autodesk.AutoCAD.ApplicationServices import * -from Autodesk.AutoCAD.EditorInput import * -from Autodesk.AutoCAD.DatabaseServices import * -from Autodesk.AutoCAD.Geometry import * -doc = Application.DocumentManager.MdiActiveDocument -ed = doc.Editor -db = doc.Database -# Write Code Below -with doc.LockDocument(): - with doc.Database as db: - with db.TransactionManager.StartTransaction() as t: - bt = t.GetObject(db.BlockTableId,OpenMode.ForRead) - btr = t.GetObject(bt[BlockTableRecord.ModelSpace],OpenMode.ForWrite) - # Do action here - pl = Polyline() - pl.AddVertexAt(0,Point2d(0.0, 0.0), 0.0, 0.0, 0.0) - pl.AddVertexAt(1,Point2d(100.0, 0.0), 0.0, 0.0, 0.0) - pl.AddVertexAt(2,Point2d(100.0, 100.0), 0.0, 0.0, 0.0) - pl.AddVertexAt(3,Point2d(0.0, 100.0), 0.0, 0.0, 0.0) - btr.AppendEntity(pl) - t.AddNewlyCreatedDBObject(pl,True) - t.Commit() \ No newline at end of file diff --git a/Script Examples/ironpython3.4/deleteObject.py b/Script Examples/ironpython3.4/deleteObject.py deleted file mode 100644 index 38d3b5a..0000000 --- a/Script Examples/ironpython3.4/deleteObject.py +++ /dev/null @@ -1,26 +0,0 @@ -#Copyright(c) 2021, Hồ Văn Chương -# @chuongmep, https://chuongmep.com/ -import clr -import sys -clr.AddReference('acmgd') -clr.AddReference('acdbmgd') -clr.AddReference('accoremgd') -# Import references from AutoCAD -from Autodesk.AutoCAD.Runtime import * -from Autodesk.AutoCAD.ApplicationServices import * -from Autodesk.AutoCAD.EditorInput import * -from Autodesk.AutoCAD.DatabaseServices import * -from Autodesk.AutoCAD.Geometry import * -doc = Application.DocumentManager.MdiActiveDocument -ed = doc.Editor -db = doc.Database -result = ed.GetEntity("Please Select Object To Delete") -if(result.Status==PromptStatus.OK): objId = result.ObjectId -#Code Here : -with doc.LockDocument(): - with doc.Database as db: - with db.TransactionManager.StartTransaction() as t: - obj = t.GetObject(objId, OpenMode.ForWrite) - obj.Erase() - t.Commit() - print("Object Deleted") \ No newline at end of file diff --git a/Script Examples/ironpython3.4/getObjectIdWithPrompt.py b/Script Examples/ironpython3.4/getObjectIdWithPrompt.py deleted file mode 100644 index 688fe3c..0000000 --- a/Script Examples/ironpython3.4/getObjectIdWithPrompt.py +++ /dev/null @@ -1,22 +0,0 @@ -#Copyright(c) 2021, Hồ Văn Chương -# @chuongmep, https://chuongmep.com/ -import clr -clr.AddReference('acmgd') -clr.AddReference('acdbmgd') -clr.AddReference('accoremgd') -# Import references from AutoCAD -from Autodesk.AutoCAD.Runtime import * -from Autodesk.AutoCAD.ApplicationServices import * -from Autodesk.AutoCAD.EditorInput import * -from Autodesk.AutoCAD.DatabaseServices import * -from Autodesk.AutoCAD.Geometry import * -doc = Application.DocumentManager.MdiActiveDocument -ed = doc.Editor -db = doc.Database -# Write Code Below -def GetObjectIdWithPrompt(editor): - result = editor.GetEntity("Please Select an Entity") - if(result.Status!= PromptStatus.OK) : return - editor.WriteMessage(result.ObjectId.ObjectClass.Name) - print("Object Class Name:",result.ObjectId.ObjectClass.Name) -GetObjectIdWithPrompt(ed) \ No newline at end of file diff --git a/Script Examples/ironpython3.4/getcolor.py b/Script Examples/ironpython3.4/getcolor.py deleted file mode 100644 index 235438c..0000000 --- a/Script Examples/ironpython3.4/getcolor.py +++ /dev/null @@ -1,23 +0,0 @@ -import clr -clr.AddReference('acmgd') -clr.AddReference('acdbmgd') -clr.AddReference('accoremgd') -# Import references from AutoCAD -from Autodesk.AutoCAD.Runtime import * -from Autodesk.AutoCAD.ApplicationServices import * -from Autodesk.AutoCAD.EditorInput import * -from Autodesk.AutoCAD.DatabaseServices import * -from Autodesk.AutoCAD.Geometry import * -adoc = Application.DocumentManager.MdiActiveDocument -ed = adoc.Editor - -## Get Color -import Autodesk.AutoCAD.Colors.EntityColor as cl -rgbcad = cl.LookUpRgb(111) -print(rgbcad) -blue = rgbcad & 255 -green = (rgbcad >> 8) & 255 -red = (rgbcad >> 16) & 255 -print("Color RGB is", (red,green,blue)) - -## see more at : https://forum.dynamobim.com/t/aci-color-to-rgb/59856/6 \ No newline at end of file diff --git a/Script Examples/ironpython3.4/getobject.py b/Script Examples/ironpython3.4/getobject.py deleted file mode 100644 index 3fe402b..0000000 --- a/Script Examples/ironpython3.4/getobject.py +++ /dev/null @@ -1,23 +0,0 @@ -import clr -clr.AddReference('acmgd') -clr.AddReference('acdbmgd') -clr.AddReference('accoremgd') -# Import references from AutoCAD -from Autodesk.AutoCAD.Runtime import * -from Autodesk.AutoCAD.ApplicationServices import * -from Autodesk.AutoCAD.EditorInput import * -from Autodesk.AutoCAD.DatabaseServices import * -from Autodesk.AutoCAD.Geometry import * -adoc = Application.DocumentManager.MdiActiveDocument -ed = adoc.Editor -output =[] -with adoc.LockDocument(): - with adoc.Database as db: - with db.TransactionManager.StartTransaction() as t: - bt = t.GetObject(db.BlockTableId, OpenMode.ForWrite) - btr = t.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) - for objectid in btr: - obj1 = t.GetObject(objectid, OpenMode.ForRead) - output.append(obj1) - print(obj1) -ed.WriteMessage("Done") \ No newline at end of file diff --git a/Script Examples/ironpython3.4/getselection.py b/Script Examples/ironpython3.4/getselection.py deleted file mode 100644 index f7f2b83..0000000 --- a/Script Examples/ironpython3.4/getselection.py +++ /dev/null @@ -1,33 +0,0 @@ -#Copyright(c) 2021, Hồ Văn Chương -# @chuongmep, https://chuongmep.com/ -import clr -clr.AddReference('acmgd') -clr.AddReference('acdbmgd') -clr.AddReference('accoremgd') -# Import references from AutoCAD -from Autodesk.AutoCAD.Runtime import * -from Autodesk.AutoCAD.ApplicationServices import * -from Autodesk.AutoCAD.EditorInput import * -from Autodesk.AutoCAD.DatabaseServices import * -from Autodesk.AutoCAD.Geometry import * -doc = Application.DocumentManager.MdiActiveDocument -ed = doc.Editor -db = doc.Database -# Write Code Below -with doc.LockDocument(): - with doc.Database as db: - with db.TransactionManager.StartTransaction() as t: - bt = t.GetObject(db.BlockTableId,OpenMode.ForRead) - btr = t.GetObject(bt[BlockTableRecord.ModelSpace],OpenMode.ForWrite) - # Do action here - result = ed.GetSelection() - if(result.Status==PromptStatus.OK): - print("Selected Entity") - print(dir(result)) - #There are selected entities - #Put your command using pickfirst set code here - else : - print("There are no selected entities ") - #Put your command code here - - t.Commit() \ No newline at end of file diff --git a/Script Examples/ironpython3.4/libCadTransaction.py b/Script Examples/ironpython3.4/libCadTransaction.py deleted file mode 100644 index 197dcc4..0000000 --- a/Script Examples/ironpython3.4/libCadTransaction.py +++ /dev/null @@ -1,25 +0,0 @@ -#Copyright(c) 2021, Hồ Văn Chương -# @chuongmep, https://chuongmep.com/ -import clr -clr.AddReference('acmgd') -clr.AddReference('acdbmgd') -clr.AddReference('accoremgd') -# Import references from AutoCAD -from Autodesk.AutoCAD.Runtime import * -from Autodesk.AutoCAD.ApplicationServices import * -from Autodesk.AutoCAD.EditorInput import * -from Autodesk.AutoCAD.DatabaseServices import * -from Autodesk.AutoCAD.Geometry import * -doc = Application.DocumentManager.MdiActiveDocument -ed = doc.Editor -db = doc.Database -# Write Code Below -with doc.LockDocument(): - with doc.Database as db: - with db.TransactionManager.StartTransaction() as t: - bt = t.GetObject(db.BlockTableId,OpenMode.ForRead) - btr = t.GetObject(bt[BlockTableRecord.ModelSpace],OpenMode.ForWrite) - # Do action here - - - t.Commit() \ No newline at end of file diff --git a/Script Examples/ironpython3.4/libcivil3dyanmo.py b/Script Examples/ironpython3.4/libcivil3dyanmo.py deleted file mode 100644 index b3914a7..0000000 --- a/Script Examples/ironpython3.4/libcivil3dyanmo.py +++ /dev/null @@ -1,39 +0,0 @@ -import clr - -# Add Assemblies for AutoCAD and Civil 3D APIs -clr.AddReference('acmgd') -clr.AddReference('acdbmgd') -clr.AddReference('accoremgd') -clr.AddReference('AecBaseMgd') -clr.AddReference('AecPropDataMgd') -clr.AddReference('AeccDbMgd') -clr.AddReference('AeccPressurePipesMgd') -clr.AddReference('acdbmgdbrep') -clr.AddReference('System.Windows.Forms') -clr.AddReference('Civil3DNodes') -clr.AddReference('AutoCADNodes') - -# Add references to manage arrays, collections and interact with the user -from System import * -from System.IO import * -from System.Collections.Specialized import * -from System.Windows.Forms import MessageBox - -# Create an alias to the Autodesk.AutoCAD.ApplicationServices.Application class -import Autodesk.AutoCAD.ApplicationServices.Application as acapp - -# Import references from AutoCAD -from Autodesk.AutoCAD.Runtime import * -from Autodesk.AutoCAD.ApplicationServices import * -from Autodesk.AutoCAD.EditorInput import * -from Autodesk.AutoCAD.DatabaseServices import * -from Autodesk.AutoCAD.Geometry import * - -# Import references for Civil 3D -from Autodesk.Civil.ApplicationServices import * -from Autodesk.Civil.DatabaseServices import * - -# Import references for Dynamo for Civil 3D -from Autodesk.Civil.DynamoNodes import Surface as DynSurface -from Autodesk.Civil.DynamoNodes.Selection import SurfaceByName -from Autodesk.AutoCAD.DynamoNodes import Document as DynDocument \ No newline at end of file diff --git a/Script Examples/ironpython3.4/sample_base.dwg b/Script Examples/ironpython3.4/sample_base.dwg deleted file mode 100644 index 182002d..0000000 Binary files a/Script Examples/ironpython3.4/sample_base.dwg and /dev/null differ diff --git a/Script Examples/ironpython3.4/selectionpickobject.py b/Script Examples/ironpython3.4/selectionpickobject.py deleted file mode 100644 index 7f638fe..0000000 --- a/Script Examples/ironpython3.4/selectionpickobject.py +++ /dev/null @@ -1,29 +0,0 @@ -import clr -clr.AddReference('acmgd') -clr.AddReference('acdbmgd') -clr.AddReference('accoremgd') -# Import references from AutoCAD -from Autodesk.AutoCAD.Runtime import * -from Autodesk.AutoCAD.ApplicationServices import * -from Autodesk.AutoCAD.EditorInput import * -from Autodesk.AutoCAD.DatabaseServices import * -from Autodesk.AutoCAD.Geometry import * -doc = Application.DocumentManager.MdiActiveDocument -ed = doc.Editor -db = doc.Database -#Code Here : -objects = [] -with doc.LockDocument(): - with doc.Database as db: - with db.TransactionManager.StartTransaction() as t: - acblkbl = t.GetObject(db.BlockTableId,OpenMode.ForRead) - print(type(acblkbl)) - acblktblrec = t.GetObject(acblkbl[BlockTableRecord.ModelSpace],OpenMode.ForWrite) - print(type(acblktblrec)) - sel = doc.Editor.GetSelection() - if(sel.Status== PromptStatus.OK): - results = sel.Value - for i in range(len(results)): - if(results[i] != None) : objects.append(i) - else : pass -print("Count Object Exploded:",len(objects)) \ No newline at end of file diff --git a/Script Examples/ironpython3.4/showAlertDialog.py b/Script Examples/ironpython3.4/showAlertDialog.py deleted file mode 100644 index ab8b90a..0000000 --- a/Script Examples/ironpython3.4/showAlertDialog.py +++ /dev/null @@ -1,17 +0,0 @@ -#Copyright(c) 2021, Hồ Văn Chương -# @chuongmep, https://chuongmep.com/ -import clr -clr.AddReference('acmgd') -clr.AddReference('acdbmgd') -clr.AddReference('accoremgd') -# Import references from AutoCAD -from Autodesk.AutoCAD.Runtime import * -from Autodesk.AutoCAD.ApplicationServices import * -from Autodesk.AutoCAD.EditorInput import * -from Autodesk.AutoCAD.DatabaseServices import * -from Autodesk.AutoCAD.Geometry import * -doc = Application.DocumentManager.MdiActiveDocument -ed = doc.Editor -db = doc.Database -# Write Code Below -Application.ShowAlertDialog("Hello World!") \ No newline at end of file diff --git a/Script Examples/ironpython3.4/showdialog.py b/Script Examples/ironpython3.4/showdialog.py deleted file mode 100644 index ee00456..0000000 --- a/Script Examples/ironpython3.4/showdialog.py +++ /dev/null @@ -1,51 +0,0 @@ -import sys -import clr -# Add Assemblies for AutoCAD -clr.AddReference('AcMgd') -clr.AddReference('AcCoreMgd') -clr.AddReference('AcDbMgd') -clr.AddReference('AdWindows') - -# Import references from AutoCAD -from Autodesk.AutoCAD.Runtime import * -from Autodesk.AutoCAD.ApplicationServices import * -from Autodesk.AutoCAD.EditorInput import * -from Autodesk.Windows import * - - -adoc = Application.DocumentManager.MdiActiveDocument -ed = adoc.Editor - -td = TaskDialog() -td.WindowTitle = "The title" -td.MainInstruction = "Something has happened." -td.ContentText = "Here's some text, with a " + "" + "link to the ADN site" -td.VerificationText = "Verification text" -td.FooterText = "The footer with a "+ "link to Kean's blog" -td.EnableHyperlinks = True -td.EnableVerificationHandler = True - -td.CollapsedControlText = "This control can be collapsed." -td.ExpandedText = "This control can be expanded..." + "\nto multiple lines." -td.ExpandFooterArea = True -td.ExpandedByDefault = False - -td.MainIcon = TaskDialogIcon.Shield -td.FooterIcon = TaskDialogIcon.Information - -td.UseCommandLinks = True -td.Buttons.Add(TaskDialogButton(1, "This is one course of action.")) -td.Buttons.Add(TaskDialogButton(2, "This is another course of action.")) -td.Buttons.Add(TaskDialogButton(3, "And would you believe we have a third!")) -td.DefaultButton = 3 - -td.RadioButtons.Add(TaskDialogButton(4, "Yes")) -td.RadioButtons.Add(TaskDialogButton(5, "No")) -td.RadioButtons.Add(TaskDialogButton(6, "Maybe")) - -td.DefaultRadioButton = 5 -td.AllowDialogCancellation = False - -"Need help with the Callback here" - -td.Show(Application.MainWindow.Handle) diff --git a/Script Examples/ironpython3.4/zoomtoobject.py b/Script Examples/ironpython3.4/zoomtoobject.py deleted file mode 100644 index 786df5f..0000000 --- a/Script Examples/ironpython3.4/zoomtoobject.py +++ /dev/null @@ -1,36 +0,0 @@ -#Copyright(c) 2021, Hồ Văn Chương -# @chuongmep, https://chuongmep.com/ -import clr -clr.AddReference('acmgd') -clr.AddReference('acdbmgd') -clr.AddReference('accoremgd') -# Import references from AutoCAD -from Autodesk.AutoCAD.Runtime import * -from Autodesk.AutoCAD.ApplicationServices import * -from Autodesk.AutoCAD.EditorInput import * -from Autodesk.AutoCAD.DatabaseServices import * -from Autodesk.AutoCAD.Geometry import * -doc = Application.DocumentManager.MdiActiveDocument -ed = doc.Editor -db = doc.Database -# Write Code Below -def ZoomToObj(ed,min,max): - min2d = Point2d(min.X, min.Y) - max2d = Point2d(max.X, max.Y) - view = ViewTableRecord() - view.CenterPoint = min2d + ((max2d - min2d) / 2.0) - view.Height = max2d.Y - min2d.Y - view.Width = max2d.X - min2d.X - ed.SetCurrentView(view) -peo = PromptEntityOptions("Select An Entity:") -result = ed.GetEntity(peo) -if(result.Status==PromptStatus.OK): - with doc.LockDocument(): - with doc.Database as db: - with db.TransactionManager.StartTransaction() as t: - ent = t.GetObject(result.ObjectId,OpenMode.ForRead) - ext = ent.GeometricExtents - # Do action here - ZoomToObj(ed, ext.MinPoint, ext.MaxPoint) - - t.Commit() \ No newline at end of file diff --git a/Script Examples/ironpython2.7/libCadTransaction.py b/Script Examples/libCadTransaction.py similarity index 100% rename from Script Examples/ironpython2.7/libCadTransaction.py rename to Script Examples/libCadTransaction.py diff --git a/Script Examples/ironpython2.7/libcad.txt b/Script Examples/libcad.txt similarity index 100% rename from Script Examples/ironpython2.7/libcad.txt rename to Script Examples/libcad.txt diff --git a/Script Examples/ironpython2.7/libcivil3dyanmo.py b/Script Examples/libcivil3dyanmo.py similarity index 100% rename from Script Examples/ironpython2.7/libcivil3dyanmo.py rename to Script Examples/libcivil3dyanmo.py diff --git a/Script Examples/ironpython2.7/message.py b/Script Examples/message.py similarity index 100% rename from Script Examples/ironpython2.7/message.py rename to Script Examples/message.py diff --git a/Script Examples/ironpython2.7/sample_base.dwg b/Script Examples/sample_base.dwg similarity index 100% rename from Script Examples/ironpython2.7/sample_base.dwg rename to Script Examples/sample_base.dwg diff --git a/Script Examples/ironpython2.7/selectionpickobject.py b/Script Examples/selectionpickobject.py similarity index 100% rename from Script Examples/ironpython2.7/selectionpickobject.py rename to Script Examples/selectionpickobject.py diff --git a/Script Examples/ironpython2.7/showAlertDialog.py b/Script Examples/showAlertDialog.py similarity index 100% rename from Script Examples/ironpython2.7/showAlertDialog.py rename to Script Examples/showAlertDialog.py diff --git a/Script Examples/ironpython2.7/showdialog.py b/Script Examples/showdialog.py similarity index 100% rename from Script Examples/ironpython2.7/showdialog.py rename to Script Examples/showdialog.py diff --git a/Script Examples/snoopobjectdemo.py b/Script Examples/snoopobjectdemo.py new file mode 100644 index 0000000..76726aa --- /dev/null +++ b/Script Examples/snoopobjectdemo.py @@ -0,0 +1,37 @@ +import clr +import sys +sys.path.append('C:\Program Files (x86)\IronPython 2.7\Lib') +import os +import math +clr.AddReference('acmgd') +clr.AddReference('acdbmgd') +clr.AddReference('accoremgd') +# Import references from AutoCAD +from Autodesk.AutoCAD.Runtime import * +from Autodesk.AutoCAD.ApplicationServices import * +from Autodesk.AutoCAD.EditorInput import * +from Autodesk.AutoCAD.DatabaseServices import * +from Autodesk.AutoCAD.Geometry import * +adoc = Application.DocumentManager.MdiActiveDocument +ed = adoc.Editor +output =[] +with adoc.LockDocument(): + with adoc.Database as db: + with db.TransactionManager.StartTransaction() as t: + bt = t.GetObject(db.BlockTableId, OpenMode.ForWrite) + btr = t.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) + for objectid in btr: + obj1 = t.GetObject(objectid, OpenMode.ForRead) + output.append(obj1) + print(obj1) +if(len(output)==0): + print("Dont have any object in view \nPlease draw something!") +else: + from CADSnoop import SnoopCommand + a = output[0] + sn = SnoopCommand() + sn.Snoop(a) +## you can use shell to snoop with method : +# snoop(a) +## or use sn.Snoop(a) from shell command +# note with option snoop() will be snoop by pick object same with button from in ribbon \ No newline at end of file diff --git a/Script Examples/ironpython3.4/testironpython3.py b/Script Examples/testironpython3.py similarity index 100% rename from Script Examples/ironpython3.4/testironpython3.py rename to Script Examples/testironpython3.py diff --git a/Script Examples/ironpython2.7/zoomtoobject.py b/Script Examples/zoomtoobject.py similarity index 86% rename from Script Examples/ironpython2.7/zoomtoobject.py rename to Script Examples/zoomtoobject.py index 95b592b..c747279 100644 --- a/Script Examples/ironpython2.7/zoomtoobject.py +++ b/Script Examples/zoomtoobject.py @@ -23,9 +23,9 @@ def ZoomToObj(ed,min,max): max2d = Point2d(max.X, max.Y) view = ViewTableRecord() view.CenterPoint = min2d + ((max2d - min2d) / 2.0) - view.Height = max2d.Y - min2d.Y - view.Width = max2d.X - min2d.X - ed.SetCurrentView(view) + view.Height = max2d.Y - min2d.Y; + view.Width = max2d.X - min2d.X; + ed.SetCurrentView(view); peo = PromptEntityOptions("Select An Entity:") result = ed.GetEntity(peo) if(result.Status==PromptStatus.OK): @@ -33,8 +33,8 @@ def ZoomToObj(ed,min,max): with doc.Database as db: with db.TransactionManager.StartTransaction() as t: ent = t.GetObject(result.ObjectId,OpenMode.ForRead) - ext = ent.GeometricExtents + ext = ent.GeometricExtents; # Do action here - ZoomToObj(ed, ext.MinPoint, ext.MaxPoint) + ZoomToObj(ed, ext.MinPoint, ext.MaxPoint); t.Commit() \ No newline at end of file diff --git a/global.json b/global.json deleted file mode 100644 index c359dad..0000000 --- a/global.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "sdk": { - "version": "6.*.0", - "rollForward": "latestMajor", - "allowPrerelease": false - } -} \ No newline at end of file diff --git a/global.json.bak b/global.json.bak deleted file mode 100644 index 9e5e1fd..0000000 --- a/global.json.bak +++ /dev/null @@ -1,7 +0,0 @@ -{ - "sdk": { - "version": "6.0.0", - "rollForward": "latestMajor", - "allowPrerelease": true - } -} \ No newline at end of file