├── .gitignore ├── CHANGELOG.md ├── Enesy ├── Enesy.sln ├── Enesy.suo ├── Enesy.v11.suo ├── Enesy │ ├── Drawing │ │ ├── Icons.Designer.cs │ │ └── Icons.resx │ ├── Enesy.csproj │ ├── Enesy.csproj.user │ ├── Forms │ │ ├── ButtonNoborder.cs │ │ ├── DragHelper.cs │ │ ├── LinkLabelData.Designer.cs │ │ ├── LinkLabelData.cs │ │ ├── ListViewEx │ │ │ ├── AcCalcGroupData.cs │ │ │ ├── ListViewEx.cs │ │ │ ├── SubItemEndEditingEventArgs.cs │ │ │ ├── SubItemEndEditingEventHandler.cs │ │ │ ├── SubItemEventArgs.cs │ │ │ └── SubItemEventHandler.cs │ │ ├── ListViewFilePath.Designer.cs │ │ ├── ListViewFilePath.cs │ │ ├── PictureBoxZoom.cs │ │ ├── RichTextBoxData.Designer.cs │ │ ├── RichTextBoxData.cs │ │ ├── SearchBox.Designer.cs │ │ ├── SearchBox.cs │ │ ├── SearchBox.resx │ │ ├── TabEx │ │ │ └── TabControl │ │ │ │ ├── CustomTabControl.cs │ │ │ │ ├── NativeMethods.cs │ │ │ │ ├── TabStyle.cs │ │ │ │ ├── TabStyleProvider.cs │ │ │ │ ├── TabStyleProviders │ │ │ │ ├── TabStyleAngledProvider.cs │ │ │ │ ├── TabStyleChromeProvider.cs │ │ │ │ ├── TabStyleDefaultProvider.cs │ │ │ │ ├── TabStyleIE8Provider.cs │ │ │ │ ├── TabStyleNoneProvider.cs │ │ │ │ ├── TabStyleRoundedProvider.cs │ │ │ │ ├── TabStyleVS2010Provider.cs │ │ │ │ └── TabStyleVisualStudioProvider.cs │ │ │ │ └── ThemedColors.cs │ │ ├── TabWizardHeaderControl.Designer.cs │ │ ├── TabWizardHeaderControl.cs │ │ ├── TextBoxFilter.Designer.cs │ │ ├── TextBoxFilter.cs │ │ ├── TextBoxNumeric.Designer.cs │ │ ├── TextBoxNumeric.cs │ │ ├── TextBoxNumericLargerZero.Designer.cs │ │ ├── TextBoxNumericLargerZero.cs │ │ ├── TextBoxSearch.Designer.cs │ │ ├── TextBoxSearch.cs │ │ ├── TreeViewSheets.Designer.cs │ │ ├── TreeViewSheets.cs │ │ ├── XFImporter.Designer.cs │ │ ├── XFImporter.cs │ │ ├── XFImporter.resx │ │ ├── XFInformationDialog.cs │ │ ├── XFInformationDialog.designer.cs │ │ ├── XFInformationDialog.resx │ │ ├── XFManager.Designer.cs │ │ ├── XFManager.cs │ │ └── XFManager.resx │ ├── Information │ │ └── WebPage.cs │ ├── OpenSource │ │ └── CSLA │ │ │ └── Csla.dll │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ └── Resources.resx │ ├── Resources │ │ ├── 1453707592_arrow-refresh.png │ │ ├── 1453707705_printer.png │ │ ├── 1453708145_gtk-sort-descending.png │ │ ├── 1453709979_old-go-top.png │ │ ├── 1453725839_cut.png │ │ ├── 1453733694_Select.png │ │ ├── 1455627626_edit-alignment-bottom.png │ │ ├── 1455627626_edit-alignment-top.png │ │ ├── 1455627626_edit-alignment.png │ │ ├── 1455627655_edit-alignment-center.png │ │ ├── 1455627655_edit-alignment-middle.png │ │ ├── 1455627657_edit-alignment-right.png │ │ ├── 1455795385_facebook_circle_color.png │ │ ├── 1455795873_YouTube.png │ │ ├── 1456239772_Globe.png │ │ ├── 1456569816_folder.png │ │ ├── 1456569911_Open_file.png │ │ ├── Delete.png │ │ ├── Filter.png │ │ ├── SearchButton.png │ │ ├── SearchButtonDisable.png │ │ ├── SearchButtonHover.png │ │ ├── SearchButtonPressed.png │ │ ├── bottom.png │ │ ├── clear16x16.png │ │ ├── down.png │ │ ├── enesyIcon.ico │ │ ├── preview.png │ │ ├── seach16.png │ │ └── up.png │ ├── Security │ │ └── Cryptography.cs │ ├── Structure.cs │ ├── Utilities │ │ └── Utilities.cs │ ├── bin │ │ └── Debug │ │ │ └── Enesy.vshost.exe │ └── obj │ │ ├── Debug │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── Enesy.Drawing.Icons.resources │ │ ├── Enesy.Forms.SearchBox.resources │ │ ├── Enesy.Properties.Resources.resources │ │ ├── Enesy.csproj.FileListAbsolute.txt │ │ ├── Enesy.csproj.GenerateResource.Cache │ │ ├── ResolveAssemblyReference.cache │ │ └── TempPE │ │ │ └── Properties.Resources.Designer.cs.dll │ │ └── Enesy.csproj.FileListAbsolute.txt ├── EnesyCAD │ ├── AboutDialog │ │ ├── AboutDialog.Designer.cs │ │ ├── AboutDialog.cs │ │ └── AboutDialog.resx │ ├── ApplicationServices │ │ ├── ECRegistry.cs │ │ ├── EneApplication.cs │ │ ├── Readme.txt │ │ └── Reg.cs │ ├── ClassDiagram1.cd │ ├── CommandBase │ │ ├── EnesyCADCommandBase.cs │ │ ├── HavePaletteCommandBase.cs │ │ └── IhavePaletteSet.cs │ ├── CommandManager │ │ ├── CmdInfo.cs │ │ ├── Command.cs │ │ ├── CommandInfo.cs │ │ ├── CommandInfoCollection.cs │ │ ├── CommandsManager.Designer.cs │ │ ├── CommandsManager.cs │ │ ├── CommandsManager.resx │ │ ├── DatabaseCreator.cs │ │ ├── ImportLispDialog.Designer.cs │ │ ├── ImportLispDialog.cs │ │ ├── ImportLispDialog.resx │ │ ├── LII.cs │ │ ├── ManagerBoard.cs │ │ ├── UCSuite.Designer.cs │ │ ├── UCSuite.cs │ │ ├── UCSuite.resx │ │ └── Ver2 │ │ │ ├── AcCalcBtnData.cs │ │ │ ├── AcCalcUnitGroupData.cs │ │ │ ├── AcCalcUnitItem.cs │ │ │ ├── AcCalcUnitType.cs │ │ │ ├── AcCalcVariableGroupData.cs │ │ │ ├── ButtonGroupCtrl.cs │ │ │ ├── CMNApplication.cs │ │ │ ├── CMNBtnGroupData.cs │ │ │ ├── CMNControl.Designer.cs │ │ │ ├── CMNControl.cs │ │ │ ├── CalculatorSplitter.cs │ │ │ ├── CheckForUpdate │ │ │ └── CheckForUpdate.cs │ │ │ ├── CommandListView.cs │ │ │ ├── Commands.cs │ │ │ ├── ExpressionType.cs │ │ │ ├── GlobalResource.Designer.cs │ │ │ ├── GlobalResource.resx │ │ │ ├── GlobalResources.cs │ │ │ ├── GroupButton.cs │ │ │ ├── GroupControl.cs │ │ │ ├── GroupsPane.cs │ │ │ ├── LayoutParser.cs │ │ │ ├── LayoutParser │ │ │ ├── XmlSerializationReader1.cs │ │ │ └── XmlSerializationWriter1.cs │ │ │ ├── PerDocData.cs │ │ │ ├── ResHandler.cs │ │ │ ├── ResString.cs │ │ │ ├── Resources │ │ │ ├── VariableCat.bmp │ │ │ ├── VariableConst.bmp │ │ │ ├── VariableLeaf.bmp │ │ │ ├── VariableTop.bmp │ │ │ ├── angle.ico │ │ │ ├── calc_clear.bmp │ │ │ ├── calc_clear_hist.bmp │ │ │ ├── calc_icon.ico │ │ │ ├── calc_less.bmp │ │ │ ├── calc_more.bmp │ │ │ ├── calc_point.bmp │ │ │ ├── close_16.ico │ │ │ ├── del_var.bmp │ │ │ ├── dialog_cancel.ico │ │ │ ├── dist.ico │ │ │ ├── edit_var.bmp │ │ │ ├── erase.ico │ │ │ ├── gtk_cancel.ico │ │ │ ├── has_group.png │ │ │ ├── help.ico │ │ │ ├── intersect.ico │ │ │ ├── new_var.bmp │ │ │ ├── paste.ico │ │ │ └── ret_var.bmp │ │ │ ├── SearchTextBox.cs │ │ │ ├── StringResource.cs │ │ │ ├── StringResources.Designer.cs │ │ │ ├── StringResources.resx │ │ │ ├── TextBoxEx.cs │ │ │ ├── ToolTipButton.cs │ │ │ ├── W32Util.cs │ │ │ ├── cmnControlData.cs │ │ │ ├── cmnESW.cs │ │ │ ├── cmnGroupData.cs │ │ │ ├── cmnResource.Designer.cs │ │ │ ├── cmnResource.resx │ │ │ ├── cmnTheme.cs │ │ │ ├── cmnToolbarButtonData.cs │ │ │ └── cmnToolbarData.cs │ ├── CommandsHelp.cs │ ├── CoreTeamCommands │ │ ├── AutoNumber │ │ │ ├── AutoNumber.cs │ │ │ ├── AutoNumberControl.Designer.cs │ │ │ ├── AutoNumberControl.cs │ │ │ ├── AutoNumberControl.resx │ │ │ ├── Rectangle.cs │ │ │ └── TextBounds.cs │ │ ├── CommandStringResources.Designer.cs │ │ ├── CommandStringResources.en-US.resx │ │ ├── CommandStringResources.resx │ │ ├── CommandStringResources.vi-VN.resx │ │ ├── Distance │ │ │ ├── DistanceCommand.cs │ │ │ ├── DistanceCommandControl.Designer.cs │ │ │ ├── DistanceCommandControl.cs │ │ │ ├── DistanceCommandControl.resx │ │ │ ├── DistanceOnCurve.cs │ │ │ ├── DistanceType.cs │ │ │ └── OutputMode.cs │ │ ├── Others │ │ │ ├── EntitiesJig │ │ │ │ └── XlineJig.cs │ │ │ └── ObjectSnap │ │ │ │ ├── Class1.cs │ │ │ │ └── ObjectSnapCommands.cs │ │ ├── Test │ │ │ ├── Test.cs │ │ │ ├── UserControl1.Designer.cs │ │ │ ├── UserControl1.cs │ │ │ └── UserControl1.resx │ │ ├── Text │ │ │ └── CloneTargetTextCommand.cs │ │ └── XLine │ │ │ └── CreateAngleXLine.cs │ ├── DatabaseServices │ │ ├── CmdRecord.cs │ │ ├── CmdTableRecord.cs │ │ ├── Database.cs │ │ ├── ECMLoader.cs │ │ ├── Figure │ │ │ ├── CompositeFigure.cs │ │ │ ├── FigureBase.cs │ │ │ └── IFigure.cs │ │ ├── LispFunction.cs │ │ └── ULFLoader.cs │ ├── EnesyCAD.csproj │ ├── EnesyCAD.csproj.user │ ├── EntityProperties.cs │ ├── Forms │ │ ├── EnesyCADForm.cs │ │ ├── EnesyCADForm.resx │ │ └── Testing │ │ │ ├── DefaultGroupEditor.cs │ │ │ ├── GlobalResources.cs │ │ │ ├── LocalResources.cs │ │ │ ├── MainForm.Designer.cs │ │ │ ├── MainForm.cs │ │ │ ├── MainForm.resx │ │ │ ├── MainForm1.cs │ │ │ ├── MainForm1.resx │ │ │ ├── Palette.cs │ │ │ ├── Palette.resx │ │ │ ├── TestCommands.cs │ │ │ └── Toolbar.cs │ ├── GLOBAL.cs │ ├── Geometry │ │ └── RectangleEx.cs │ ├── Helper │ │ ├── EntitySelector.cs │ │ ├── Point2d.cs │ │ ├── Point3d.cs │ │ ├── PromptHelper.cs │ │ └── TextBound.cs │ ├── IO │ │ ├── LispFunction.cs │ │ ├── LispReader.cs │ │ ├── LspImporter.cs │ │ └── LspReader.cs │ ├── Plot │ │ ├── BaseFrame.cs │ │ ├── Command.cs │ │ ├── Functions.cs │ │ ├── PaletteControl.Designer.cs │ │ ├── PaletteControl.cs │ │ ├── PaletteControl.resx │ │ ├── PlotArea.cs │ │ ├── QPlotConfig.cs │ │ └── RefreshEngine.cs │ ├── PlotServices │ │ ├── BaseFrame.cs │ │ ├── Command.cs │ │ ├── Functions.cs │ │ ├── PaletteControl.Designer.cs │ │ ├── PaletteControl.cs │ │ ├── PaletteControl.resx │ │ ├── PlotArea.cs │ │ ├── QPlotConfig.cs │ │ └── RefreshEngine.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ └── Resources.resx │ ├── Resources │ │ ├── ClearClipBoard.png │ │ └── enesy_newcolor.png │ ├── Runtime │ │ ├── CommandGroup.cs │ │ ├── CommandMethod.cs │ │ └── EnesyCADCommandMethod.cs │ ├── StringResources │ │ ├── CommandMethodResources.Designer.cs │ │ ├── CommandMethodResources.en-US.resx │ │ ├── CommandMethodResources.resx │ │ ├── CommandMethodResources.vi-VN.resx │ │ ├── GlobalStringResources.Designer.cs │ │ ├── GlobalStringResources.en-US.resx │ │ ├── GlobalStringResources.resx │ │ └── GlobalStringResources.vi-VN.resx │ ├── Utilities │ │ ├── CivilWorks │ │ │ └── RebarArrangment │ │ │ │ ├── Commands.cs │ │ │ │ ├── Dialogs │ │ │ │ ├── GetDimensions.Designer.cs │ │ │ │ ├── GetDimensions.cs │ │ │ │ └── GetDimensions.resx │ │ │ │ ├── IRebarSection.cs │ │ │ │ ├── README.txt │ │ │ │ ├── RectRebarSection.cs │ │ │ │ └── Shapes.cs │ │ ├── ClipboardManager │ │ │ ├── Clipboard.cs │ │ │ ├── ClipboardPalette.Designer.cs │ │ │ ├── ClipboardPalette.cs │ │ │ ├── ClipboardPalette.resx │ │ │ └── DemandLoadding.cs │ │ ├── Coordinate │ │ │ └── ExportCoordinates │ │ │ │ ├── Commands.cs │ │ │ │ ├── CoordinatePicker.Designer.cs │ │ │ │ ├── CoordinatePicker.cs │ │ │ │ ├── CoordinatePicker.resx │ │ │ │ ├── ExportOptionDialog.Designer.cs │ │ │ │ ├── ExportOptionDialog.cs │ │ │ │ └── ExportOptionDialog.resx │ │ ├── Text │ │ │ ├── Aligment │ │ │ │ ├── AligmentPoint.cs │ │ │ │ ├── Commands.cs │ │ │ │ ├── TextAligment.Designer.cs │ │ │ │ ├── TextAligment.cs │ │ │ │ └── TextAligment.resx │ │ │ ├── AutoNumber │ │ │ │ └── AutoNumber.cs │ │ │ └── Paragraph │ │ │ │ ├── Commands.cs │ │ │ │ ├── Paragraph.Designer.cs │ │ │ │ ├── Paragraph.cs │ │ │ │ └── Paragraph.resx │ │ └── Xref │ │ │ ├── Absolute2Relative │ │ │ ├── ConvertAbsoluteRelativeDialog.Designer.cs │ │ │ ├── ConvertAbsoluteRelativeDialog.cs │ │ │ └── ConvertAbsoluteRelativeDialog.resx │ │ │ └── XrefRelativePath │ │ │ ├── Class1.cs │ │ │ └── XrefRelativePath.cs │ ├── Utils │ │ ├── Calculating.cs │ │ ├── ConvertAndTranslate.cs │ │ ├── GetInfo.cs │ │ ├── Modify.cs │ │ ├── Others.cs │ │ ├── R­ectangle.cs │ │ └── Selection.cs │ ├── VersionInfo.txt │ ├── mobile_64x64.png │ └── obj │ │ └── Debug │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── Enesy.EnesyCAD.CommandManager.CommandsManagerDialog.resources │ │ ├── Enesy.EnesyCAD.CommandManager.ImportLispDialog.resources │ │ ├── Enesy.EnesyCAD.Plot.PaletteControl.resources │ │ ├── Enesy.EnesyCAD.Properties.Resources.resources │ │ ├── Enesy.EnesyCAD.Utilities.CoordinatePickerDialog.resources │ │ ├── Enesy.EnesyCAD.Utilities.Text.TextAligmentDialog.resources │ │ ├── Enesy.EnesyCAD.Utilities.Text.TextParagraphDialog.resources │ │ ├── EnesyCAD.csproj.FileListAbsolute.txt │ │ ├── EnesyCAD.csproj.GenerateResource.Cache │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs ├── EnesyLOAD │ ├── About.Designer.cs │ ├── About.cs │ ├── About.resx │ ├── AboutBox1.Designer.cs │ ├── AboutBox1.cs │ ├── AboutBox1.resx │ ├── AssembliesManager.Designer.cs │ ├── AssembliesManager.cs │ ├── AssembliesManager.resx │ ├── ClearClipBoard.png │ ├── DemandLoading.Designer.cs │ ├── DemandLoading.cs │ ├── DemandLoading.resx │ ├── EnesyLOAD.csproj │ ├── ModifyRegistry.cs │ ├── Program.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── RegisteryHelper.cs │ ├── Services.ico │ ├── app.config │ ├── icons-free-assembly.png │ └── modifyregistry2.zip └── UpgradeLog.htm ├── README.md └── lib ├── 2007 ├── AcAxDb17enures.dll ├── AcCalcUi.dll ├── AcCui.dll ├── AcCustomize.dll ├── AcDbMgd-cleaned.dll ├── AcDbMgd.dll ├── AcETransmit16.tlb ├── AcMNUParser.dll ├── AcMgd.dll ├── AcMgdReverse.dll ├── AcMgdShared.dll ├── AcPEXCtl16.tlb ├── AcPi16.tlb ├── AcPp16.tlb ├── AcStMgr.tlb ├── acax17ENU.tlb ├── acmgdinternal.dll └── axdb17enu.tlb ├── 2014 ├── AcCui.dll ├── AcDx.dll ├── AcDxPublishUi.dll ├── AcMr.dll ├── AcTcMgd.dll ├── AcWelcomeScreen.dll ├── AcWindows.dll ├── AdWindows.dll ├── accoremgd.dll ├── acdbmgd.dll └── acmgd.dll └── 2016 ├── accoremgd.dll ├── acdbmgd.dll └── acmgd.dll /.gitignore: -------------------------------------------------------------------------------- 1 | bin 2 | obj 3 | *.csproj* 4 | Properties 5 | docs 6 | *~* 7 | *.sln* 8 | *.suo* 9 | *.resources* 10 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## Phiên bản (2016-02-26) 2 | 3 | Performance: 4 | 5 | - Các thay đổi về hiệu suất chương trình 6 | 7 | Features: 8 | 9 | - Các thay đổi về tính năng chương trình 10 | 11 | Bugfixes: 12 | 13 | - Các fix lỗi 14 | -------------------------------------------------------------------------------- /Enesy/Enesy.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Enesy", "Enesy\Enesy.csproj", "{809BA199-3C18-4283-978E-6D335C2B2FF5}" 5 | EndProject 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EnesyCAD", "EnesyCAD\EnesyCAD.csproj", "{1ACDE011-29EA-40FF-B6E2-67A4AEF270B1}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EnesyLOAD", "EnesyLOAD\EnesyLOAD.csproj", "{EB6B56EF-8284-40FB-B48C-D62CC294E15B}" 9 | EndProject 10 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "zTest", "zTest", "{5CC8FEC7-3F2D-4EA1-8F63-76B8440F74DE}" 11 | EndProject 12 | Global 13 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 14 | Debug|Any CPU = Debug|Any CPU 15 | Debug|x86 = Debug|x86 16 | Release|Any CPU = Release|Any CPU 17 | Release|x86 = Release|x86 18 | EndGlobalSection 19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 20 | {809BA199-3C18-4283-978E-6D335C2B2FF5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {809BA199-3C18-4283-978E-6D335C2B2FF5}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {809BA199-3C18-4283-978E-6D335C2B2FF5}.Debug|x86.ActiveCfg = Debug|Any CPU 23 | {809BA199-3C18-4283-978E-6D335C2B2FF5}.Release|Any CPU.ActiveCfg = Release|Any CPU 24 | {809BA199-3C18-4283-978E-6D335C2B2FF5}.Release|Any CPU.Build.0 = Release|Any CPU 25 | {809BA199-3C18-4283-978E-6D335C2B2FF5}.Release|x86.ActiveCfg = Release|Any CPU 26 | {1ACDE011-29EA-40FF-B6E2-67A4AEF270B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 27 | {1ACDE011-29EA-40FF-B6E2-67A4AEF270B1}.Debug|Any CPU.Build.0 = Debug|Any CPU 28 | {1ACDE011-29EA-40FF-B6E2-67A4AEF270B1}.Debug|x86.ActiveCfg = Debug|Any CPU 29 | {1ACDE011-29EA-40FF-B6E2-67A4AEF270B1}.Release|Any CPU.ActiveCfg = Release|Any CPU 30 | {1ACDE011-29EA-40FF-B6E2-67A4AEF270B1}.Release|Any CPU.Build.0 = Release|Any CPU 31 | {1ACDE011-29EA-40FF-B6E2-67A4AEF270B1}.Release|x86.ActiveCfg = Release|Any CPU 32 | {EB6B56EF-8284-40FB-B48C-D62CC294E15B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 33 | {EB6B56EF-8284-40FB-B48C-D62CC294E15B}.Debug|Any CPU.Build.0 = Debug|Any CPU 34 | {EB6B56EF-8284-40FB-B48C-D62CC294E15B}.Debug|x86.ActiveCfg = Debug|Any CPU 35 | {EB6B56EF-8284-40FB-B48C-D62CC294E15B}.Release|Any CPU.ActiveCfg = Release|Any CPU 36 | {EB6B56EF-8284-40FB-B48C-D62CC294E15B}.Release|Any CPU.Build.0 = Release|Any CPU 37 | {EB6B56EF-8284-40FB-B48C-D62CC294E15B}.Release|x86.ActiveCfg = Release|Any CPU 38 | EndGlobalSection 39 | GlobalSection(SolutionProperties) = preSolution 40 | HideSolutionNode = FALSE 41 | EndGlobalSection 42 | EndGlobal 43 | -------------------------------------------------------------------------------- /Enesy/Enesy.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy.suo -------------------------------------------------------------------------------- /Enesy/Enesy.v11.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy.v11.suo -------------------------------------------------------------------------------- /Enesy/Enesy/Enesy.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | ShowAllFiles 5 | publish\ 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | en-US 15 | false 16 | 17 | -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/ButtonNoborder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Drawing; 4 | using System.Text; 5 | using System.Windows.Forms; 6 | 7 | namespace Enesy.Controls 8 | { 9 | /// 10 | /// Button with noborder 11 | /// 12 | public class ButtonNoBorder : Button 13 | { 14 | protected override void OnPaint(PaintEventArgs pevent) 15 | { 16 | base.OnPaint(pevent); 17 | 18 | pevent.Graphics.DrawRectangle(new Pen(Brushes.White, 1), this.ClientRectangle); 19 | 20 | int arrowX = ClientRectangle.Width - 10; 21 | int arrowY = ClientRectangle.Height / 2 - 1; 22 | 23 | Brush brush = Enabled ? Brushes.DimGray : SystemBrushes.ButtonShadow; 24 | Point[] arrows = new Point[] { new Point(arrowX, arrowY), new Point(arrowX + 7, arrowY), new Point(arrowX + 3, arrowY + 4) }; 25 | pevent.Graphics.FillPolygon(brush, arrows); 26 | } 27 | 28 | protected override void OnMouseHover(EventArgs e) 29 | { 30 | base.OnMouseHover(e); 31 | base.BackColor = Color.White; 32 | } 33 | 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/DragHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.InteropServices; 3 | 4 | namespace Enesy.Forms 5 | { 6 | class DragHelper 7 | { 8 | [DllImport("comctl32.dll")] 9 | public static extern bool InitCommonControls(); 10 | 11 | [DllImport("comctl32.dll", CharSet = CharSet.Auto)] 12 | public static extern bool ImageList_BeginDrag(IntPtr himlTrack, int 13 | iTrack, int dxHotspot, int dyHotspot); 14 | 15 | [DllImport("comctl32.dll", CharSet = CharSet.Auto)] 16 | public static extern bool ImageList_DragMove(int x, int y); 17 | 18 | [DllImport("comctl32.dll", CharSet = CharSet.Auto)] 19 | public static extern void ImageList_EndDrag(); 20 | 21 | [DllImport("comctl32.dll", CharSet = CharSet.Auto)] 22 | public static extern bool ImageList_DragEnter(IntPtr hwndLock, int x, int y); 23 | 24 | [DllImport("comctl32.dll", CharSet = CharSet.Auto)] 25 | public static extern bool ImageList_DragLeave(IntPtr hwndLock); 26 | 27 | [DllImport("comctl32.dll", CharSet = CharSet.Auto)] 28 | public static extern bool ImageList_DragShowNolock(bool fShow); 29 | 30 | static DragHelper() 31 | { 32 | InitCommonControls(); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/LinkLabelData.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace Enesy.Forms 2 | { 3 | partial class LinkLabelData 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Component Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | components = new System.ComponentModel.Container(); 32 | } 33 | 34 | #endregion 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/ListViewEx/AcCalcGroupData.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Xml.Serialization; 3 | 4 | namespace Enesy.Form 5 | { 6 | public class AcCalcGroupData 7 | { 8 | [XmlAttribute("GroupName")] 9 | public string msGroupName; 10 | 11 | [XmlAttribute("GroupNumber")] 12 | public int miGroupNumber; 13 | 14 | [XmlAttribute("IsCollapsed")] 15 | public bool mbCollapsed; 16 | 17 | private bool _mHide; 18 | 19 | public bool Hide 20 | { 21 | get 22 | { 23 | return this._mHide; 24 | } 25 | set 26 | { 27 | this._mHide = value; 28 | } 29 | } 30 | 31 | public AcCalcGroupData() 32 | { 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/ListViewEx/SubItemEndEditingEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace Enesy.Form 5 | { 6 | public class SubItemEndEditingEventArgs : SubItemEventArgs 7 | { 8 | private string _text = string.Empty; 9 | 10 | private bool _cancel = true; 11 | 12 | private bool _RetainEditor; 13 | 14 | public bool Cancel 15 | { 16 | get 17 | { 18 | return this._cancel; 19 | } 20 | set 21 | { 22 | this._cancel = value; 23 | } 24 | } 25 | 26 | public string DisplayText 27 | { 28 | get 29 | { 30 | return this._text; 31 | } 32 | set 33 | { 34 | this._text = value; 35 | } 36 | } 37 | 38 | public bool RetainEditor 39 | { 40 | get 41 | { 42 | return this._RetainEditor; 43 | } 44 | set 45 | { 46 | this._RetainEditor = value; 47 | } 48 | } 49 | 50 | public SubItemEndEditingEventArgs(ListViewItem item, int subItem, string display, bool cancel) 51 | : base(item, subItem) 52 | { 53 | this._text = display; 54 | this._cancel = cancel; 55 | } 56 | } 57 | } -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/ListViewEx/SubItemEndEditingEventHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Enesy.Form 4 | { 5 | public delegate void SubItemEndEditingEventHandler(object sender, SubItemEndEditingEventArgs e); 6 | } -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/ListViewEx/SubItemEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace Enesy.Form 5 | { 6 | public class SubItemEventArgs : EventArgs 7 | { 8 | private int _subItemIndex = -1; 9 | 10 | private ListViewItem _item; 11 | 12 | public ListViewItem Item 13 | { 14 | get 15 | { 16 | return this._item; 17 | } 18 | } 19 | 20 | public int SubItem 21 | { 22 | get 23 | { 24 | return this._subItemIndex; 25 | } 26 | } 27 | 28 | public SubItemEventArgs(ListViewItem item, int subItem) 29 | { 30 | this._subItemIndex = subItem; 31 | this._item = item; 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/ListViewEx/SubItemEventHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Enesy.Form 4 | { 5 | public delegate void SubItemEventHandler(object sender, SubItemEventArgs e); 6 | } -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/ListViewFilePath.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace Enesy.Forms 2 | { 3 | partial class ListViewFilePath 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Component Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | components = new System.ComponentModel.Container(); 32 | } 33 | 34 | #endregion 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/ListViewFilePath.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | using System.IO; 9 | 10 | namespace Enesy.Forms 11 | { 12 | public partial class ListViewFilePath : System.Windows.Forms.ListView 13 | { 14 | private bool Resizing = false; 15 | 16 | public ListViewFilePath() 17 | { 18 | InitializeComponent(); 19 | 20 | // Add 2 columns: File & Path 21 | this.Columns.Add("File"); 22 | this.Columns.Add("Path"); 23 | this.View = View.Details; 24 | this.FullRowSelect = true; 25 | 26 | // Events 27 | this.SizeChanged += ListViewFilePath_SizeChanged; 28 | } 29 | 30 | void ListViewFilePath_SizeChanged(object sender, EventArgs e) 31 | { 32 | // Don't allow overlapping of SizeChanged calls 33 | if (!Resizing) 34 | { 35 | // Set the resizing flag 36 | Resizing = true; 37 | 38 | ListView listView = sender as ListView; 39 | if (listView != null) 40 | { 41 | listView.Columns[0].Width = (int)(0.3 * listView.ClientRectangle.Width); 42 | listView.Columns[1].Width = (int)(0.7 * listView.ClientRectangle.Width); 43 | } 44 | } 45 | 46 | // Clear the resizing flag 47 | Resizing = false; 48 | } 49 | 50 | /// 51 | /// Add method 52 | /// 53 | /// Full path of file 54 | public void Add(string path) 55 | { 56 | ListViewItem lvi = new ListViewItem(Path.GetFileName(path)); 57 | ListViewItem.ListViewSubItem lvsi = new ListViewItem.ListViewSubItem(lvi, path); 58 | lvi.SubItems.Add(lvsi); 59 | this.Items.Add(lvi); 60 | } 61 | 62 | protected override void OnPaint(PaintEventArgs pe) 63 | { 64 | base.OnPaint(pe); 65 | } 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/RichTextBoxData.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace Enesy.Forms 2 | { 3 | partial class RichTextBoxData 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Component Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | components = new System.ComponentModel.Container(); 32 | } 33 | 34 | #endregion 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/SearchBox.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Forms/SearchBox.Designer.cs -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/TabEx/TabControl/TabStyle.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * This code is provided under the Code Project Open Licence (CPOL) 3 | * See http://www.codeproject.com/info/cpol10.aspx for details 4 | */ 5 | 6 | using System.Windows.Forms; 7 | 8 | namespace System.Windows.Forms 9 | { 10 | public enum TabStyle{ 11 | None = 0, 12 | Default = 1, 13 | VisualStudio = 2, 14 | Rounded = 3, 15 | Angled = 4, 16 | Chrome = 5, 17 | IE8 = 6, 18 | VS2010 = 7 19 | } 20 | 21 | } -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/TabEx/TabControl/TabStyleProviders/TabStyleAngledProvider.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * This code is provided under the Code Project Open Licence (CPOL) 3 | * See http://www.codeproject.com/info/cpol10.aspx for details 4 | */ 5 | 6 | using System; 7 | using System.Drawing; 8 | using System.Drawing.Drawing2D; 9 | using System.Windows.Forms; 10 | 11 | namespace System.Windows.Forms 12 | { 13 | [System.ComponentModel.ToolboxItem(false)] 14 | public class TabStyleAngledProvider : TabStyleProvider 15 | { 16 | public TabStyleAngledProvider(CustomTabControl tabControl) : base(tabControl){ 17 | this._ImageAlign = ContentAlignment.MiddleRight; 18 | this._Overlap = 7; 19 | this._Radius = 10; 20 | 21 | // Must set after the _Radius as this is used in the calculations of the actual padding 22 | this.Padding = new Point(10, 3); 23 | 24 | } 25 | 26 | public override void AddTabBorder(System.Drawing.Drawing2D.GraphicsPath path, System.Drawing.Rectangle tabBounds){ 27 | switch (this._TabControl.Alignment) { 28 | case TabAlignment.Top: 29 | path.AddLine(tabBounds.X, tabBounds.Bottom, tabBounds.X + this._Radius - 2, tabBounds.Y + 2); 30 | path.AddLine(tabBounds.X + this._Radius, tabBounds.Y, tabBounds.Right - this._Radius, tabBounds.Y); 31 | path.AddLine(tabBounds.Right - this._Radius + 2, tabBounds.Y + 2, tabBounds.Right, tabBounds.Bottom); 32 | break; 33 | case TabAlignment.Bottom: 34 | path.AddLine(tabBounds.Right, tabBounds.Y, tabBounds.Right - this._Radius + 2, tabBounds.Bottom - 2); 35 | path.AddLine(tabBounds.Right - this._Radius, tabBounds.Bottom, tabBounds.X + this._Radius, tabBounds.Bottom); 36 | path.AddLine(tabBounds.X + this._Radius - 2, tabBounds.Bottom - 2, tabBounds.X, tabBounds.Y); 37 | break; 38 | case TabAlignment.Left: 39 | path.AddLine(tabBounds.Right, tabBounds.Bottom, tabBounds.X + 2, tabBounds.Bottom - this._Radius + 2); 40 | path.AddLine(tabBounds.X, tabBounds.Bottom - this._Radius, tabBounds.X, tabBounds.Y + this._Radius); 41 | path.AddLine(tabBounds.X + 2, tabBounds.Y + this._Radius - 2, tabBounds.Right, tabBounds.Y); 42 | break; 43 | case TabAlignment.Right: 44 | path.AddLine(tabBounds.X, tabBounds.Y, tabBounds.Right - 2, tabBounds.Y + this._Radius - 2); 45 | path.AddLine(tabBounds.Right, tabBounds.Y + this._Radius, tabBounds.Right, tabBounds.Bottom - this._Radius); 46 | path.AddLine(tabBounds.Right - 2, tabBounds.Bottom - this._Radius + 2, tabBounds.X, tabBounds.Bottom); 47 | break; 48 | } 49 | } 50 | 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/TabEx/TabControl/TabStyleProviders/TabStyleNoneProvider.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * This code is provided under the Code Project Open Licence (CPOL) 3 | * See http://www.codeproject.com/info/cpol10.aspx for details 4 | */ 5 | 6 | namespace System.Windows.Forms 7 | { 8 | using System; 9 | using System.Drawing; 10 | using System.Drawing.Drawing2D; 11 | using System.Windows.Forms; 12 | 13 | [System.ComponentModel.ToolboxItem(false)] 14 | public class TabStyleNoneProvider : TabStyleProvider 15 | { 16 | public TabStyleNoneProvider(CustomTabControl tabControl) : base(tabControl){ 17 | } 18 | 19 | public override void AddTabBorder(System.Drawing.Drawing2D.GraphicsPath path, System.Drawing.Rectangle tabBounds){ 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/TabEx/TabControl/TabStyleProviders/TabStyleVisualStudioProvider.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * This code is provided under the Code Project Open Licence (CPOL) 3 | * See http://www.codeproject.com/info/cpol10.aspx for details 4 | */ 5 | 6 | using System; 7 | using System.Drawing; 8 | using System.Drawing.Drawing2D; 9 | using System.Windows.Forms; 10 | 11 | namespace System.Windows.Forms 12 | { 13 | 14 | [System.ComponentModel.ToolboxItem(false)] 15 | public class TabStyleVisualStudioProvider : TabStyleProvider 16 | { 17 | public TabStyleVisualStudioProvider(CustomTabControl tabControl) : base(tabControl){ 18 | this._ImageAlign = ContentAlignment.MiddleRight; 19 | this._Overlap = 7; 20 | 21 | // Must set after the _Radius as this is used in the calculations of the actual padding 22 | this.Padding = new Point(14, 1); 23 | } 24 | 25 | public override void AddTabBorder(System.Drawing.Drawing2D.GraphicsPath path, System.Drawing.Rectangle tabBounds){ 26 | switch (this._TabControl.Alignment) { 27 | case TabAlignment.Top: 28 | path.AddLine(tabBounds.X, tabBounds.Bottom, tabBounds.X + tabBounds.Height - 4, tabBounds.Y + 2); 29 | path.AddLine(tabBounds.X + tabBounds.Height, tabBounds.Y, tabBounds.Right - 3, tabBounds.Y); 30 | path.AddArc(tabBounds.Right - 6, tabBounds.Y, 6, 6, 270, 90); 31 | path.AddLine(tabBounds.Right, tabBounds.Y + 3, tabBounds.Right, tabBounds.Bottom); 32 | break; 33 | case TabAlignment.Bottom: 34 | path.AddLine(tabBounds.Right, tabBounds.Y, tabBounds.Right, tabBounds.Bottom - 3); 35 | path.AddArc(tabBounds.Right - 6, tabBounds.Bottom - 6, 6, 6, 0, 90); 36 | path.AddLine(tabBounds.Right - 3, tabBounds.Bottom, tabBounds.X + tabBounds.Height, tabBounds.Bottom); 37 | path.AddLine(tabBounds.X + tabBounds.Height - 4, tabBounds.Bottom - 2, tabBounds.X, tabBounds.Y); 38 | break; 39 | case TabAlignment.Left: 40 | path.AddLine(tabBounds.Right, tabBounds.Bottom, tabBounds.X + 3, tabBounds.Bottom); 41 | path.AddArc(tabBounds.X, tabBounds.Bottom - 6, 6, 6, 90, 90); 42 | path.AddLine(tabBounds.X, tabBounds.Bottom - 3, tabBounds.X, tabBounds.Y + tabBounds.Width); 43 | path.AddLine(tabBounds.X + 2, tabBounds.Y + tabBounds.Width - 4, tabBounds.Right, tabBounds.Y); 44 | break; 45 | case TabAlignment.Right: 46 | path.AddLine(tabBounds.X, tabBounds.Y, tabBounds.Right - 2, tabBounds.Y + tabBounds.Width - 4); 47 | path.AddLine(tabBounds.Right, tabBounds.Y + tabBounds.Width, tabBounds.Right, tabBounds.Bottom - 3); 48 | path.AddArc(tabBounds.Right - 6, tabBounds.Bottom - 6, 6, 6, 0, 90); 49 | path.AddLine(tabBounds.Right - 3, tabBounds.Bottom, tabBounds.X, tabBounds.Bottom); 50 | break; 51 | } 52 | } 53 | 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/TabEx/TabControl/ThemedColors.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * This code is provided under the Code Project Open Licence (CPOL) 3 | * See http://www.codeproject.com/info/cpol10.aspx for details 4 | */ 5 | 6 | using System.Drawing; 7 | using System.Windows.Forms; 8 | using System.Windows.Forms.VisualStyles; 9 | 10 | namespace System.Drawing 11 | { 12 | 13 | internal sealed class ThemedColors 14 | { 15 | 16 | #region " Variables and Constants " 17 | 18 | private const string NormalColor = "NormalColor"; 19 | private const string HomeStead = "HomeStead"; 20 | private const string Metallic = "Metallic"; 21 | private const string NoTheme = "NoTheme"; 22 | 23 | private static Color[] _toolBorder; 24 | #endregion 25 | 26 | #region " Properties " 27 | 28 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 29 | public static ColorScheme CurrentThemeIndex { 30 | get { return ThemedColors.GetCurrentThemeIndex(); } 31 | } 32 | 33 | [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 34 | public static Color ToolBorder { 35 | get { return ThemedColors._toolBorder[(int)ThemedColors.CurrentThemeIndex]; } 36 | } 37 | 38 | #endregion 39 | 40 | #region " Constructors " 41 | 42 | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1810:InitializeReferenceTypeStaticFieldsInline")] 43 | static ThemedColors() { 44 | ThemedColors._toolBorder = new Color[] {Color.FromArgb(127, 157, 185), Color.FromArgb(164, 185, 127), Color.FromArgb(165, 172, 178), Color.FromArgb(132, 130, 132)}; 45 | } 46 | 47 | private ThemedColors(){} 48 | 49 | #endregion 50 | 51 | private static ColorScheme GetCurrentThemeIndex() 52 | { 53 | ColorScheme theme = ColorScheme.NoTheme; 54 | 55 | if (VisualStyleInformation.IsSupportedByOS && VisualStyleInformation.IsEnabledByUser && Application.RenderWithVisualStyles) 56 | { 57 | 58 | 59 | switch (VisualStyleInformation.ColorScheme) { 60 | case NormalColor: 61 | theme = ColorScheme.NormalColor; 62 | break; 63 | case HomeStead: 64 | theme = ColorScheme.HomeStead; 65 | break; 66 | case Metallic: 67 | theme = ColorScheme.Metallic; 68 | break; 69 | default: 70 | theme = ColorScheme.NoTheme; 71 | break; 72 | } 73 | } 74 | 75 | return theme; 76 | } 77 | 78 | public enum ColorScheme 79 | { 80 | NormalColor = 0, 81 | HomeStead = 1, 82 | Metallic = 2, 83 | NoTheme = 3 84 | } 85 | 86 | } 87 | 88 | } 89 | -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/TabWizardHeaderControl.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace Enesy.Forms 2 | { 3 | partial class TabWizardHeaderControl 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Component Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | components = new System.ComponentModel.Container(); 32 | } 33 | 34 | #endregion 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/TabWizardHeaderControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | 9 | namespace Enesy.Forms 10 | { 11 | public partial class TabWizardHeaderControl : System.Windows.Forms.TabControl 12 | { 13 | public TabWizardHeaderControl() 14 | { 15 | InitializeComponent(); 16 | } 17 | 18 | protected override void OnPaint(PaintEventArgs pe) 19 | { 20 | base.OnPaint(pe); 21 | } 22 | 23 | /// 24 | /// Indicating mode of show/hide header dynamic 25 | /// true : header will be showed when mouse over header 26 | /// 27 | [DefaultValue(false)] 28 | public bool HeaderDynamicMode { get; set; } 29 | 30 | /// 31 | /// Property indicating show/hide state of tab header 32 | /// 33 | private bool tabsVisible; 34 | [DefaultValue(true)] 35 | public bool TabsVisible 36 | { 37 | get { return tabsVisible; } 38 | set 39 | { 40 | if (tabsVisible == value) return; 41 | tabsVisible = value; 42 | RecreateHandle(); 43 | } 44 | } 45 | 46 | /// 47 | /// Method that control header apperance 48 | /// 49 | /// 50 | protected override void WndProc(ref Message m) 51 | { 52 | // Hide tabs by trapping the TCM_ADJUSTRECT message 53 | if (m.Msg == 0x1328) 54 | { 55 | if (!tabsVisible && !DesignMode) 56 | { 57 | m.Result = (IntPtr)1; 58 | return; 59 | } 60 | } 61 | base.WndProc(ref m); 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/TextBoxFilter.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace Enesy.Forms 2 | { 3 | partial class TextBoxFilter 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Component Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | components = new System.ComponentModel.Container(); 32 | } 33 | 34 | #endregion 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/TextBoxNumeric.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace Enesy.Forms 2 | { 3 | partial class TextBoxNumeric 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Component Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | components = new System.ComponentModel.Container(); 32 | } 33 | 34 | #endregion 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/TextBoxNumeric.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | 9 | namespace Enesy.Forms 10 | { 11 | public partial class TextBoxNumeric : System.Windows.Forms.TextBox 12 | { 13 | private string lastText = ""; 14 | 15 | public TextBoxNumeric() 16 | { 17 | InitializeComponent(); 18 | this.TextChanged += new EventHandler(TextBoxNumeric_TextChanged); 19 | } 20 | 21 | void TextBoxNumeric_TextChanged(object sender, EventArgs e) 22 | { 23 | if (this.Text == "") 24 | { 25 | lastText = ""; 26 | return; 27 | } 28 | if (Utilities.IsNumeric(this.Text)) 29 | { 30 | lastText = this.Text; 31 | } 32 | else 33 | { 34 | int po = this.SelectionStart; 35 | this.Text = lastText; 36 | this.Select(po - 1, 0); 37 | } 38 | } 39 | 40 | protected override void OnPaint(PaintEventArgs pe) 41 | { 42 | // TODO: Add custom paint code here 43 | 44 | // Calling the base class OnPaint 45 | base.OnPaint(pe); 46 | } 47 | 48 | 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/TextBoxNumericLargerZero.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace Enesy.Forms 2 | { 3 | partial class TextBoxNumericLargerZero 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Component Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | components = new System.ComponentModel.Container(); 32 | } 33 | 34 | #endregion 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/TextBoxNumericLargerZero.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | 9 | namespace Enesy.Forms 10 | { 11 | public partial class TextBoxNumericLargerZero : System.Windows.Forms.TextBox 12 | { 13 | private string lastText = ""; 14 | 15 | public TextBoxNumericLargerZero() 16 | { 17 | InitializeComponent(); 18 | this.TextChanged += new EventHandler(TextBoxNumeric_TextChanged); 19 | } 20 | 21 | void TextBoxNumeric_TextChanged(object sender, EventArgs e) 22 | { 23 | if (this.Text == "") 24 | { 25 | lastText = ""; 26 | return; 27 | } 28 | try 29 | { 30 | if (Utilities.IsNumericLargerZero(this.Text)) 31 | { 32 | lastText = this.Text; 33 | } 34 | else 35 | { 36 | int po = this.SelectionStart; 37 | this.Text = lastText; 38 | this.Select(po - 1, 0); 39 | } 40 | } 41 | catch (Exception ex) 42 | { 43 | int po = this.SelectionStart; 44 | this.Text = lastText; 45 | this.Select(po - 1, 0); 46 | } 47 | } 48 | 49 | protected override void OnPaint(PaintEventArgs pe) 50 | { 51 | base.OnPaint(pe); 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/TextBoxSearch.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace Enesy.Forms 2 | { 3 | partial class TextBoxSearch 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Component Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | components = new System.ComponentModel.Container(); 32 | } 33 | 34 | #endregion 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/TextBoxSearch.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | 9 | namespace Enesy.Forms 10 | { 11 | public partial class TextBoxSearch : Enesy.Forms.TextBoxFilter 12 | { 13 | public TextBoxSearch() 14 | { 15 | InitializeComponent(); 16 | this.DataSourceChanged += 17 | new OnDataSourceChangedHandler(TextBoxSearch_DataSourceChanged); 18 | } 19 | 20 | protected override void OnPaint(PaintEventArgs pe) 21 | { 22 | // TODO: Add custom paint code here 23 | 24 | // Calling the base class OnPaint 25 | base.OnPaint(pe); 26 | } 27 | 28 | private Color inactiveColor = Color.DarkGray; 29 | public Color InactiveColor 30 | { 31 | set { this.inactiveColor = value; } 32 | } 33 | 34 | private Color activeColor = Color.Black; 35 | public Color ActiveColor 36 | { 37 | set { this.activeColor = value; } 38 | } 39 | 40 | 41 | void TextBoxSearch_DataSourceChanged(object sender, FilterEventArgs e) 42 | { 43 | this.GotFocus -= new EventHandler(TextBoxSearch_GotFocus); 44 | this.GotFocus += new EventHandler(TextBoxSearch_GotFocus); 45 | 46 | this.LostFocus -= new EventHandler(TextBoxSearch_LostFocus); 47 | this.LostFocus += new EventHandler(TextBoxSearch_LostFocus); 48 | } 49 | 50 | /// 51 | /// If text is "Search .....", set it is "" 52 | /// of select all. 53 | /// 54 | /// 55 | /// 56 | void TextBoxSearch_GotFocus(object sender, EventArgs e) 57 | { 58 | string s = "Search " + this.DisplayMember + "..."; 59 | if (this.Text == s) 60 | { 61 | FormatRegular(); 62 | this.Text = ""; 63 | } 64 | } 65 | 66 | /// 67 | /// This event is activated after this control is lost focus 68 | /// If text is nothing (state is false), set text is "Search + column"... 69 | /// If state is true (textBox is activating), do nothing 70 | /// 71 | /// 72 | /// 73 | void TextBoxSearch_LostFocus(object sender, EventArgs e) 74 | { 75 | 76 | } 77 | 78 | private void FormatItalic() 79 | { 80 | this.Font = new Font(this.Font.FontFamily, this.Font.Size, FontStyle.Italic); 81 | this.ForeColor = inactiveColor; 82 | } 83 | 84 | void FormatRegular() 85 | { 86 | this.Font = new Font(this.Font.FontFamily, this.Font.Size, FontStyle.Regular); 87 | this.ForeColor = activeColor; 88 | } 89 | } 90 | } 91 | -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/TreeViewSheets.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace Enesy.Forms 2 | { 3 | partial class TreeViewSheets 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Component Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | components = new System.ComponentModel.Container(); 32 | } 33 | 34 | #endregion 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/XFImporter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | 9 | namespace Enesy.Forms 10 | { 11 | public partial class XFImporter : Form 12 | { 13 | public XFImporter(string path) 14 | { 15 | InitializeComponent(); 16 | this.DataStructure(); 17 | this.grvMain.DataSource = this.functionInfos; 18 | this.schFilter.DataSource = this.functionInfos; 19 | this.rchdDescription.DataSource = this.functionInfos; 20 | this.rchdDescription.DisplayMember = "Description"; 21 | Enesy.EnesyCAD.IO.LispFileReader lfr = 22 | new Enesy.EnesyCAD.IO.LispFileReader(path); 23 | SendToDataSource(lfr.GetFunctions()); 24 | } 25 | 26 | /// 27 | /// DataSource 28 | /// 29 | DataTable functionInfos = new DataTable(); 30 | public DataTable FunctionInfos 31 | { 32 | get { return this.functionInfos; } 33 | } 34 | 35 | private void mnuiOpen_Click(object sender, EventArgs e) 36 | { 37 | OpenFileDialog ofd = new OpenFileDialog(); 38 | ofd.Filter = "Lisp file |*.lsp"; 39 | ofd.ShowDialog(); 40 | string lispPath = ofd.FileName; 41 | 42 | Enesy.EnesyCAD.IO.LispFileReader lfr = 43 | new Enesy.EnesyCAD.IO.LispFileReader(lispPath); 44 | SendToDataSource(lfr.GetFunctions()); 45 | } 46 | 47 | private void DataStructure() 48 | { 49 | functionInfos.Columns.Add("Type", typeof(string)); 50 | functionInfos.Columns.Add("Command", typeof(string)); 51 | functionInfos.Columns.Add("Tab", typeof(string)); 52 | functionInfos.Columns.Add("Author", typeof(string)); 53 | functionInfos.Columns.Add("Help", typeof(string)); 54 | functionInfos.Columns.Add("Description", typeof(string)); 55 | } 56 | 57 | private void SendToDataSource(List funcList) 58 | { 59 | foreach (string func in funcList) 60 | { 61 | DataRow dr = functionInfos.NewRow(); 62 | dr["Command"] = func; 63 | functionInfos.Rows.Add(dr); 64 | } 65 | } 66 | } 67 | } -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/XFInformationDialog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | //using Enesy.EnesyCAD.IO; 9 | 10 | namespace Enesy.Forms 11 | { 12 | public partial class XFInformationDialog : System.Windows.Forms.Form 13 | { 14 | // CONTRUCTOR 15 | public XFInformationDialog() 16 | { 17 | InitializeComponent(); 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /Enesy/Enesy/Forms/XFManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | 9 | namespace Enesy.Forms 10 | { 11 | public partial class XFManager : Form 12 | { 13 | /// 14 | /// Datasource 15 | /// This database contains Command, Author, Tab, Help (link), Description 16 | /// 17 | private DataTable dataSource = new DataTable(); 18 | 19 | public XFManager() 20 | { 21 | InitializeComponent(); 22 | DataStructure(); 23 | grvMain.DataSource = this.dataSource; 24 | schSearch.DataSource = this.dataSource; 25 | rchDescription.DataSource = this.dataSource; 26 | rchDescription.DisplayMember = "Description"; 27 | lldHelp.DataSource = this.dataSource; 28 | lldHelp.DisplayMember = "Help"; 29 | } 30 | 31 | private void mnuiImport_Click(object sender, EventArgs e) 32 | { 33 | OpenFileDialog ofd = new OpenFileDialog(); 34 | ofd.Filter = "Lisp file|*.lsp"; 35 | ofd.ShowDialog(); 36 | 37 | XFImporter xfI = new XFImporter(ofd.FileName); 38 | xfI.ShowDialog(); 39 | 40 | ImportFunction(xfI.FunctionInfos); 41 | } 42 | 43 | private void ImportFunction(object data) 44 | { 45 | DataTable dt = data as DataTable; 46 | DataRowCollection rows = dt.Rows; 47 | foreach (DataRow r in rows) 48 | { 49 | dataSource.ImportRow(r); 50 | } 51 | } 52 | 53 | private void DataStructure() 54 | { 55 | dataSource.Columns.Add("Type", typeof(string)); 56 | dataSource.Columns.Add("Command", typeof(string)); 57 | dataSource.Columns.Add("Tab", typeof(string)); 58 | dataSource.Columns.Add("Author", typeof(string)); 59 | dataSource.Columns.Add("Help", typeof(string)); 60 | dataSource.Columns.Add("Description", typeof(string)); 61 | } 62 | } 63 | } -------------------------------------------------------------------------------- /Enesy/Enesy/Information/WebPage.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel; 2 | 3 | namespace Enesy 4 | { 5 | public class Page 6 | { 7 | // Home page 8 | public const string HomePage = "https://enesyteam.github.io/"; 9 | 10 | // Enesy CAD page 11 | public const string CadPage = "https://enesyteam.github.io/autocad"; 12 | 13 | // Fan page 14 | public const string FanPage = "https://www.facebook.com/hkscd/"; 15 | 16 | // Youtube page of EnesyCAD 17 | public const string CadYoutube = "https://enesyteam.github.io/"; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Enesy/Enesy/OpenSource/CSLA/Csla.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/OpenSource/CSLA/Csla.dll -------------------------------------------------------------------------------- /Enesy/Enesy/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Enesy")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Enesy")] 13 | [assembly: AssemblyCopyright("Copyright © 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("689f08d9-a337-4332-b11f-7ea9a564f4cd")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Revision and Build Numbers 33 | // by using the '*' as shown below: 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/1453707592_arrow-refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/1453707592_arrow-refresh.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/1453707705_printer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/1453707705_printer.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/1453708145_gtk-sort-descending.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/1453708145_gtk-sort-descending.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/1453709979_old-go-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/1453709979_old-go-top.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/1453725839_cut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/1453725839_cut.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/1453733694_Select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/1453733694_Select.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/1455627626_edit-alignment-bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/1455627626_edit-alignment-bottom.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/1455627626_edit-alignment-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/1455627626_edit-alignment-top.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/1455627626_edit-alignment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/1455627626_edit-alignment.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/1455627655_edit-alignment-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/1455627655_edit-alignment-center.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/1455627655_edit-alignment-middle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/1455627655_edit-alignment-middle.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/1455627657_edit-alignment-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/1455627657_edit-alignment-right.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/1455795385_facebook_circle_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/1455795385_facebook_circle_color.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/1455795873_YouTube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/1455795873_YouTube.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/1456239772_Globe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/1456239772_Globe.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/1456569816_folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/1456569816_folder.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/1456569911_Open_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/1456569911_Open_file.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/Delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/Delete.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/Filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/Filter.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/SearchButton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/SearchButton.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/SearchButtonDisable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/SearchButtonDisable.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/SearchButtonHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/SearchButtonHover.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/SearchButtonPressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/SearchButtonPressed.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/bottom.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/clear16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/clear16x16.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/down.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/enesyIcon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/enesyIcon.ico -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/preview.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/seach16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/seach16.png -------------------------------------------------------------------------------- /Enesy/Enesy/Resources/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/Resources/up.png -------------------------------------------------------------------------------- /Enesy/Enesy/Structure.cs: -------------------------------------------------------------------------------- 1 | namespace Enesy 2 | { 3 | namespace Forms 4 | { 5 | 6 | } 7 | /* 8 | namespace EnesyCAD 9 | { 10 | namespace Data 11 | { 12 | 13 | } 14 | 15 | namespace Manager 16 | { 17 | 18 | } 19 | 20 | namespace IO 21 | { 22 | 23 | } 24 | 25 | namespace Runtime 26 | { 27 | 28 | } 29 | 30 | namespace Utilities 31 | { 32 | 33 | } 34 | } 35 | */ 36 | } 37 | -------------------------------------------------------------------------------- /Enesy/Enesy/bin/Debug/Enesy.vshost.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/bin/Debug/Enesy.vshost.exe -------------------------------------------------------------------------------- /Enesy/Enesy/obj/Debug/DesignTimeResolveAssemblyReferences.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/obj/Debug/DesignTimeResolveAssemblyReferences.cache -------------------------------------------------------------------------------- /Enesy/Enesy/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /Enesy/Enesy/obj/Debug/Enesy.Drawing.Icons.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/obj/Debug/Enesy.Drawing.Icons.resources -------------------------------------------------------------------------------- /Enesy/Enesy/obj/Debug/Enesy.Forms.SearchBox.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/obj/Debug/Enesy.Forms.SearchBox.resources -------------------------------------------------------------------------------- /Enesy/Enesy/obj/Debug/Enesy.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/obj/Debug/Enesy.Properties.Resources.resources -------------------------------------------------------------------------------- /Enesy/Enesy/obj/Debug/Enesy.csproj.GenerateResource.Cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/obj/Debug/Enesy.csproj.GenerateResource.Cache -------------------------------------------------------------------------------- /Enesy/Enesy/obj/Debug/ResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/obj/Debug/ResolveAssemblyReference.cache -------------------------------------------------------------------------------- /Enesy/Enesy/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/Enesy/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll -------------------------------------------------------------------------------- /Enesy/Enesy/obj/Enesy.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | E:\Quan_A2Z\Google Drive\2. Khac\Enesy\Enesy .NET\Enesy\Enesy\bin\Debug\Enesy.dll 2 | E:\Quan_A2Z\Google Drive\2. Khac\Enesy\Enesy .NET\Enesy\Enesy\bin\Debug\Enesy.pdb 3 | E:\Quan_A2Z\Google Drive\2. Khac\Enesy\Enesy .NET\Enesy\Enesy\obj\Debug\ResolveAssemblyReference.cache 4 | E:\Quan_A2Z\Google Drive\2. Khac\Enesy\Enesy .NET\Enesy\Enesy\obj\Debug\Enesy.Properties.Resources.resources 5 | E:\Quan_A2Z\Google Drive\2. Khac\Enesy\Enesy .NET\Enesy\Enesy\obj\Debug\Enesy.csproj.GenerateResource.Cache 6 | E:\Quan_A2Z\Google Drive\2. Khac\Enesy\Enesy .NET\Enesy\Enesy\obj\Debug\Enesy.dll 7 | E:\Quan_A2Z\Google Drive\2. Khac\Enesy\Enesy .NET\Enesy\Enesy\obj\Debug\Enesy.pdb 8 | F:\Quan_A2Z\Google Drive\2. Khac\Enesy\Enesy .NET\Enesy\Enesy\bin\Debug\Enesy.dll 9 | F:\Quan_A2Z\Google Drive\2. Khac\Enesy\Enesy .NET\Enesy\Enesy\bin\Debug\Enesy.pdb 10 | F:\Quan_A2Z\Google Drive\2. Khac\Enesy\Enesy .NET\Enesy\Enesy\obj\Debug\ResolveAssemblyReference.cache 11 | F:\Quan_A2Z\Google Drive\2. Khac\Enesy\Enesy .NET\Enesy\Enesy\obj\Debug\Enesy.Forms.SearchBox.resources 12 | F:\Quan_A2Z\Google Drive\2. Khac\Enesy\Enesy .NET\Enesy\Enesy\obj\Debug\Enesy.Forms.XFImporter.resources 13 | F:\Quan_A2Z\Google Drive\2. Khac\Enesy\Enesy .NET\Enesy\Enesy\obj\Debug\Enesy.Forms.XFInformationDialog.resources 14 | F:\Quan_A2Z\Google Drive\2. Khac\Enesy\Enesy .NET\Enesy\Enesy\obj\Debug\Enesy.Forms.XFManager.resources 15 | F:\Quan_A2Z\Google Drive\2. Khac\Enesy\Enesy .NET\Enesy\Enesy\obj\Debug\Enesy.Properties.Resources.resources 16 | F:\Quan_A2Z\Google Drive\2. Khac\Enesy\Enesy .NET\Enesy\Enesy\obj\Debug\Enesy.csproj.GenerateResource.Cache 17 | F:\Quan_A2Z\Google Drive\2. Khac\Enesy\Enesy .NET\Enesy\Enesy\obj\Debug\Enesy.dll 18 | F:\Quan_A2Z\Google Drive\2. Khac\Enesy\Enesy .NET\Enesy\Enesy\obj\Debug\Enesy.pdb 19 | E:\Quan_A2Z\Google Drive\2. Khac\Enesy\Enesy .NET\Enesy\Enesy\obj\Debug\Enesy.Forms.SearchBox.resources 20 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/AboutDialog/AboutDialog.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace Enesy.EnesyCAD.AboutDialog 2 | { 3 | partial class AboutDialog 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.SuspendLayout(); 32 | // 33 | // AboutDialog 34 | // 35 | this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); 36 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 37 | this.ClientSize = new System.Drawing.Size(462, 230); 38 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; 39 | this.Name = "AboutDialog"; 40 | this.ShowIcon = false; 41 | this.Text = "About EnesyCAD"; 42 | this.ResumeLayout(false); 43 | 44 | } 45 | 46 | #endregion 47 | } 48 | } -------------------------------------------------------------------------------- /Enesy/EnesyCAD/AboutDialog/AboutDialog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Windows.Forms; 9 | 10 | namespace Enesy.EnesyCAD.AboutDialog 11 | { 12 | public partial class AboutDialog : System.Windows.Forms.Form 13 | { 14 | public AboutDialog() 15 | { 16 | InitializeComponent(); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/ApplicationServices/EneApplication.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.AutoCAD.ApplicationServices; 2 | using Autodesk.AutoCAD.Runtime; 3 | using System; 4 | using EDS = Enesy.EnesyCAD.DatabaseServices; 5 | 6 | 7 | using Autodesk.AutoCAD.EditorInput; 8 | using AcadApp = Autodesk.AutoCAD.ApplicationServices.Application; 9 | 10 | namespace Enesy.EnesyCAD.ApplicationServices 11 | { 12 | public class EneApplication : IExtensionApplication 13 | { 14 | internal static ECRegistry EneCadRegistry = new ECRegistry(); 15 | 16 | internal static EDS.Database EneDatabase = new EDS.Database(); 17 | 18 | internal static CommandManager.CommandsManagerDialog CmdManager = 19 | new CommandManager.CommandsManagerDialog(); 20 | 21 | public void Initialize() 22 | { 23 | //throw new NotImplementedException(); 24 | DocumentCollection dwgCol = AcadApp.DocumentManager; 25 | Document dwg = AcadApp.DocumentManager.MdiActiveDocument; 26 | Editor ed = dwg.Editor; 27 | 28 | try 29 | { 30 | ed.WriteMessage("\nĐang tạo {0}...", this.GetType().Name); 31 | 32 | ed.WriteMessage("\nHoàn tất\n"); 33 | //dwg.SendStringToExecute("CE ", true, false, true); 34 | } 35 | catch (System.Exception ex) 36 | { 37 | ed.WriteMessage("\nKhông thành công:\n{0}", ex.ToString()); 38 | } 39 | } 40 | 41 | public void Terminate() 42 | { 43 | //throw new NotImplementedException(); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/ApplicationServices/Readme.txt: -------------------------------------------------------------------------------- 1 | INTRODUCTION 2 | - This namespace/class is used for read, write information to registry 3 | - Registry model: 4 | HKEY_LOCAL_MACHINE 5 | | 6 | |__ SOFTWARE 7 | | 8 | |__Enesy 9 | | 10 | |__Enesy __[key]path(Installation directory) 11 | | 12 | |__EnesyCAD 13 | | 14 | |__(key)... 15 | |__(key)... -------------------------------------------------------------------------------- /Enesy/EnesyCAD/ApplicationServices/Reg.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Win32; 2 | 3 | namespace Enesy.EnesyCAD.ApplicationServices 4 | { 5 | public class Reg 6 | { 7 | /// 8 | /// Check if sub key is existed 9 | /// 10 | /// Ex:@"Software\Enesy" 11 | /// 12 | public static bool SubKeyExists(RegistryKey rKey, string subKeyPath) 13 | { 14 | using (rKey) 15 | { 16 | return (rKey.OpenSubKey(subKeyPath, false) == null) ? false : true; 17 | } 18 | } 19 | 20 | /// 21 | /// Check if a key is existed 22 | /// 23 | /// Ex:@"HKEY_LOCAL_MACHINE\System" 24 | /// ex: "Start" 25 | /// 26 | public static bool ValueExists(string subKeyPath, string valueName) 27 | { 28 | return (Registry.GetValue(subKeyPath, valueName, null) == null) ? false : true; 29 | } 30 | 31 | /// 32 | /// Write a key, Ex: HKLM\SOFTWARE\Enesy\ 33 | /// path, value = 1 34 | /// rKey=HKLM; subKeyPath=@"SOFTWARE\Enesy; key=path; value=1; 35 | /// 36 | /// 37 | /// 38 | /// 39 | /// 40 | /// 41 | public static bool WriteKey(RegistryKey rKey, string subKeyPath, 42 | string key, object value) 43 | { 44 | try 45 | { 46 | RegistryKey rk = rKey.OpenSubKey(subKeyPath, true); 47 | rk.SetValue(key, value); 48 | rk.Close(); 49 | } 50 | catch 51 | { 52 | return false; 53 | } 54 | return true; 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandBase/EnesyCADCommandBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Enesy.EnesyCAD 4 | { 5 | public class EnesyCADCommandBase 6 | { 7 | 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandBase/IhavePaletteSet.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.AutoCAD.Windows; 2 | using Enesy.EnesyCAD.CommandManager.Ver2; 3 | using System; 4 | using System.Windows.Forms; 5 | 6 | namespace Enesy.EnesyCAD 7 | { 8 | public interface IhavePaletteSet 9 | { 10 | UserControl MyControl { get; set; } 11 | string MyPaletteHeader { get; set; } 12 | void Active(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/CmdInfo.cs: -------------------------------------------------------------------------------- 1 |  2 | 3 | namespace Enesy.EnesyCAD.CommandManager 4 | { 5 | internal struct CmdInfo 6 | { 7 | string GlobalName, Tab, Description, Author, Email, Help; 8 | 9 | bool NameEditable; 10 | 11 | string FileName; 12 | 13 | int Line; 14 | 15 | public CmdInfo(string globalName, string tab, string description, string author, string email, string help, 16 | bool nameEditable, string fileName, int line) 17 | { 18 | GlobalName = globalName; 19 | Tab = tab; 20 | Description = description; 21 | Author = author; 22 | Email = email; 23 | Help = help; 24 | NameEditable = nameEditable; 25 | FileName = fileName; 26 | Line = line; 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Command.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.InteropServices; 2 | using Autodesk.AutoCAD.Runtime; 3 | using Autodesk.AutoCAD.ApplicationServices; 4 | using Autodesk.AutoCAD.EditorInput; 5 | using acApp = Autodesk.AutoCAD.ApplicationServices.Application; 6 | using Enesy.EnesyCAD.ApplicationServices; 7 | 8 | namespace Enesy.EnesyCAD.CommandManager 9 | { 10 | public class Command 11 | { 12 | [EnesyCAD.Runtime.EnesyCADCommandMethod("CEE", 13 | "Manager", 14 | "Management all Enesy commands", 15 | CommandsHelp.EnesyAuthor, 16 | "quandt@enesy.vn", 17 | EnesyCAD.CommandsHelp.CommandsManager 18 | )] 19 | public void ListUserCommandDialog() 20 | { 21 | Autodesk.AutoCAD.ApplicationServices.Application.ShowModalDialog( 22 | EneApplication.CmdManager); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/CommandInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Enesy.EnesyCAD.CommandManager 6 | { 7 | public class CommandInfo 8 | { 9 | public string GlobalName { get; private set; } 10 | public string Tag { get; private set; } 11 | public string Description { get; private set; } 12 | public string Author { get; private set; } 13 | public string Email { get; private set; } 14 | public string WebLink { get; private set; } 15 | 16 | public CommandInfo(string globalName, 17 | string tab, 18 | string description, 19 | string author, 20 | string email, 21 | string webLink 22 | ) 23 | { 24 | GlobalName = globalName; 25 | Tag = tab; 26 | Description = description; 27 | Author = author; 28 | Email = email; 29 | WebLink = webLink; 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/CommandInfoCollection.cs: -------------------------------------------------------------------------------- 1 |  2 | 3 | namespace Enesy.EnesyCAD.CommandManager 4 | { 5 | class CommandInfoCollection : System.Collections.CollectionBase 6 | { 7 | [System.Runtime.CompilerServices.IndexerName("Commands")] 8 | private CommandInfo this[int index] 9 | { 10 | get 11 | { 12 | return this.List[index] as CommandInfo; 13 | } 14 | set 15 | { 16 | this.List[index] = value; 17 | } 18 | } 19 | 20 | public void Add(CommandInfo cmdInfo) 21 | { 22 | List.Add(cmdInfo); 23 | } 24 | 25 | public void Remove(int index) 26 | { 27 | if (index > Count - 1 || index < 0) 28 | { 29 | System.Windows.Forms.MessageBox.Show("Index not valid!"); 30 | } 31 | else 32 | { 33 | List.RemoveAt(index); 34 | } 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/DatabaseCreator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Enesy.EnesyCAD.CommandManager 6 | { 7 | class DatabaseCreator 8 | { 9 | 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/UCSuite.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | using eApp = Enesy.EnesyCAD.ApplicationServices.EneApplication; 9 | 10 | namespace Enesy.EnesyCAD.CommandManager 11 | { 12 | public partial class UCSuite : EnesyCAD.Forms.EnesyCADForm 13 | { 14 | public UCSuite() 15 | { 16 | InitializeComponent(); 17 | AddInfo(eApp.EneCadRegistry.UserCommandFiles); 18 | this.Help = CommandsHelp.UCSuite; 19 | } 20 | 21 | public void AddInfo(string[] files) 22 | { 23 | foreach (string file in files) 24 | { 25 | this.lstvFiles.Add(file); 26 | } 27 | } 28 | 29 | public void AddInfo(string file) 30 | { 31 | this.lstvFiles.Add(file); 32 | } 33 | 34 | private void butAdd_Click(object sender, EventArgs e) 35 | { 36 | OpenFileDialog ofd = new OpenFileDialog(); 37 | ofd.Multiselect = true; 38 | ofd.Filter = "xml file|*.xml"; 39 | if (ofd.ShowDialog() == DialogResult.OK) 40 | { 41 | foreach (string file in ofd.FileNames) 42 | { 43 | if (eApp.EneCadRegistry.AddUserCommand(file)) 44 | { 45 | this.lstvFiles.Add(file); 46 | } 47 | } 48 | } 49 | EnesyCAD.ApplicationServices.EneApplication.EneDatabase.ReloadULF(); 50 | } 51 | 52 | private void butRemove_Click(object sender, EventArgs e) 53 | { 54 | foreach (ListViewItem lvi in lstvFiles.SelectedItems) 55 | { 56 | if (eApp.EneCadRegistry.DeleteUserCommand(lvi.SubItems[1].Text)) 57 | { 58 | lstvFiles.Items.Remove(lvi); 59 | } 60 | } 61 | EnesyCAD.ApplicationServices.EneApplication.EneDatabase.ReloadULF(); 62 | } 63 | 64 | private void butClose_Click(object sender, EventArgs e) 65 | { 66 | this.Close(); 67 | } 68 | 69 | private void butHelp_Click(object sender, EventArgs e) 70 | { 71 | System.Diagnostics.Process.Start(CommandsHelp.UCSuite); 72 | } 73 | 74 | private void lstvFiles_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e) 75 | { 76 | if (lstvFiles.SelectedItems.Count == 0) 77 | { 78 | butRemove.Enabled = false; 79 | } 80 | else 81 | { 82 | butRemove.Enabled = true; 83 | } 84 | } 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/AcCalcBtnData.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Enesy.EnesyCAD.CommandManager.Ver2 4 | { 5 | public class cmnBtnData 6 | { 7 | [XmlAttribute("Label")] 8 | public string msLabel; 9 | [XmlAttribute("Action")] 10 | public cmnBtnData.Action msAction; 11 | [XmlAttribute("Expression")] 12 | public string msExpression; 13 | [XmlAttribute("ExpressionType")] 14 | public ExpressionType msExpressionType; 15 | [XmlAttribute("HIndex")] 16 | public int mHIndex; 17 | [XmlAttribute("VIndex")] 18 | public int mVIndex; 19 | [XmlAttribute("Color")] 20 | public string msColor; 21 | [XmlAttribute("ToolTip")] 22 | public string msToolTip; 23 | 24 | public enum Action 25 | { 26 | append = 1, 27 | clear = 2, 28 | clear_history = 3, 29 | backspace = 4, 30 | evaluate = 5, 31 | mem_store = 6, 32 | mem_plus = 7, 33 | mem_minus = 8, 34 | mem_recall = 9, 35 | mem_clear = 10, 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/AcCalcUnitGroupData.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Enesy.EnesyCAD.CommandManager.Ver2 4 | { 5 | public class AcCalcUnitGroupData : cmnGroupData 6 | { 7 | [XmlElement(ElementName = "UnitType")] 8 | public AcCalcUnitType[] mUnitTypes; 9 | private AcCalcUnitType _mDefault; 10 | 11 | public AcCalcUnitType DefaultType 12 | { 13 | get 14 | { 15 | return this._mDefault; 16 | } 17 | set 18 | { 19 | this._mDefault = value; 20 | } 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/AcCalcUnitItem.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Enesy.EnesyCAD.CommandManager.Ver2 4 | { 5 | public class AcCalcUnitItem 6 | { 7 | [XmlAttribute("Name")] 8 | public string msName; 9 | [XmlAttribute("Label")] 10 | public string msLabel; 11 | [XmlAttribute("IsDefault")] 12 | public bool mIsDefault; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/AcCalcUnitType.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Enesy.EnesyCAD.CommandManager.Ver2 4 | { 5 | public class AcCalcUnitType 6 | { 7 | [XmlAttribute("Name")] 8 | public string msName; 9 | [XmlAttribute("Label")] 10 | public string msLabel; 11 | [XmlAttribute("IsDefault")] 12 | public bool mIsDefault; 13 | [XmlElement(ElementName = "UnitSubType")] 14 | public AcCalcUnitItem[] mUnitItems; 15 | private AcCalcUnitItem _mDefaultItem; 16 | 17 | public AcCalcUnitItem DefaultItem 18 | { 19 | get 20 | { 21 | return this._mDefaultItem; 22 | } 23 | set 24 | { 25 | this._mDefaultItem = value; 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/AcCalcVariableGroupData.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Enesy.EnesyCAD.CommandManager.Ver2 4 | { 5 | public class AcCalcVariableGroupData : cmnGroupData 6 | { 7 | [XmlAttribute("MinHeight")] 8 | public int mMinHeight; 9 | //[XmlElement(ElementName = "AcCalcVariablesData")] 10 | //public AcCalcVariablesData mVarData; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/CMNBtnGroupData.cs: -------------------------------------------------------------------------------- 1 |  2 | using System.Drawing; 3 | using System.Windows.Forms; 4 | using System.Xml.Serialization; 5 | 6 | namespace Enesy.EnesyCAD.CommandManager.Ver2 7 | { 8 | public class CMNBtnGroupData : cmnGroupData 9 | { 10 | [XmlAttribute("ButtonStyle")] 11 | public FlatStyle mBtnStyle = FlatStyle.System; 12 | [XmlAttribute("MaxHRatio")] 13 | public double mBtnMaxHRatio = 2.0; 14 | [XmlElement(ElementName = "ButtonSize")] 15 | public Size mBtnSize; 16 | [XmlElement(ElementName = "Button")] 17 | public cmnBtnData[] mButtons; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/CMNControl.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace Enesy.EnesyCAD.CommandManager.Ver2 2 | { 3 | partial class CMNControl 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Component Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | components = new System.ComponentModel.Container(); 32 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 33 | } 34 | 35 | #endregion 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/CalculatorSplitter.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Forms; 2 | 3 | namespace Enesy.EnesyCAD.CommandManager.Ver2 4 | { 5 | public class CalculatorSplitter : Splitter 6 | { 7 | public CalculatorSplitter(Control control1, Control control2) 8 | { 9 | Control parent = control1.Parent; 10 | if (parent != control2.Parent) 11 | return; 12 | parent.SuspendLayout(); 13 | if (parent.Controls.IndexOf(control2) > parent.Controls.IndexOf(control1)) 14 | parent.Controls.SetChildIndex(control2, 0); 15 | control2.Dock = DockStyle.Fill; 16 | control1.Dock = DockStyle.Top; 17 | this.Dock = DockStyle.Top; 18 | this.Height = 4; 19 | this.Cursor = Cursors.HSplit; 20 | this.SplitterMoved += new SplitterEventHandler(this.SplitterLocationChanged); 21 | parent.Controls.Add((Control)this); 22 | parent.Controls.SetChildIndex((Control)this, 1); 23 | parent.ResumeLayout(); 24 | } 25 | 26 | protected override void OnSplitterMoving(SplitterEventArgs e) 27 | { 28 | int num; 29 | if ((num = ((CMNControl)this.Parent).CommandListResizeAmount(e.Y)) <= 0) 30 | return; 31 | if (e.Y != num) 32 | base.OnSplitterMoving(new SplitterEventArgs(e.X, num, e.SplitX, num)); 33 | else 34 | base.OnSplitterMoving(e); 35 | } 36 | 37 | private void SplitterLocationChanged(object sender, SplitterEventArgs e) 38 | { 39 | ((CMNControl)this.Parent).UpdateControlSizes(); 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/CheckForUpdate/CheckForUpdate.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Net; 4 | using System.Windows.Forms; 5 | 6 | namespace Enesy.EnesyCAD.CommandManager.Ver2 7 | { 8 | public class CheckForUpdate 9 | { 10 | public string appname = string.Empty; 11 | public Version version = new Version(); 12 | public string newdownloadlink = string.Empty; 13 | 14 | public CheckForUpdate(string uri) 15 | { 16 | WebClient client = new WebClient(); 17 | string content = string.Empty; 18 | Stream stream; 19 | 20 | try 21 | { 22 | stream = client.OpenRead(uri); 23 | StreamReader reader = new StreamReader(stream); 24 | content = reader.ReadToEnd(); 25 | } 26 | catch (WebException ex) 27 | { 28 | MessageBox.Show(ex.Message); 29 | return; 30 | } 31 | 32 | string[] strContent = content.Split(';'); 33 | if (strContent.Length != 3) 34 | { 35 | MessageBox.Show("text file must be in this format \"appname;version;newurl\""); 36 | return; 37 | } 38 | 39 | appname = strContent[0]; 40 | version = new Version(strContent[1]); 41 | newdownloadlink = strContent[2]; 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/ExpressionType.cs: -------------------------------------------------------------------------------- 1 | namespace Enesy.EnesyCAD.CommandManager.Ver2 2 | { 3 | public enum ExpressionType 4 | { 5 | UIExpression = 1, 6 | Operand = 2, 7 | Operator_postfix = 3, 8 | Operator_prefix = 4, 9 | Unit = 5, 10 | Result = 6, 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/GlobalResources.cs: -------------------------------------------------------------------------------- 1 | using System.Globalization; 2 | using System.Resources; 3 | 4 | namespace Enesy.EnesyCAD.CommandManager.Ver2 5 | { 6 | internal class GlobalResources 7 | { 8 | private static ResourceManager rm_; 9 | 10 | public static object GetObject(string name) 11 | { 12 | if (GlobalResources.rm_ == null) 13 | GlobalResources.rm_ = new ResourceManager(typeof(GlobalResources)); 14 | return GlobalResources.rm_.GetObject(name, CultureInfo.InvariantCulture); 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/GroupButton.cs: -------------------------------------------------------------------------------- 1 | namespace Enesy.EnesyCAD.CommandManager.Ver2 2 | { 3 | public class GroupButton : ToolTipButton 4 | { 5 | public cmnBtnData mBtnData; 6 | public int mXindex; 7 | public int mYindex; 8 | 9 | public GroupButton(cmnBtnData data) 10 | { 11 | this.mBtnData = data; 12 | if (data == null) 13 | { 14 | this.mXindex = -1; 15 | this.mYindex = -1; 16 | } 17 | else 18 | { 19 | this.mXindex = data.mHIndex; 20 | this.mYindex = data.mVIndex; 21 | } 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/LayoutParser.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Enesy.EnesyCAD.CommandManager.Ver2 4 | { 5 | internal class LayoutParser : XmlSerializer 6 | { 7 | protected override object Deserialize(XmlSerializationReader reader) 8 | { 9 | return ((XmlSerializationReader1)reader).Read23_AcCalcControlData(); 10 | } 11 | 12 | protected override XmlSerializationReader CreateReader() 13 | { 14 | return (XmlSerializationReader)new XmlSerializationReader1(); 15 | } 16 | 17 | protected override void Serialize(object value, XmlSerializationWriter writer) 18 | { 19 | ((XmlSerializationWriter1)writer).Write22_AcCalcControlData(value); 20 | } 21 | 22 | protected override XmlSerializationWriter CreateWriter() 23 | { 24 | return (XmlSerializationWriter)new XmlSerializationWriter1(); 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/PerDocData.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.AutoCAD.AcCalc; 2 | using Autodesk.AutoCAD.ApplicationServices; 3 | using System.Collections; 4 | 5 | namespace Enesy.EnesyCAD.CommandManager.Ver2 6 | { 7 | public class PerDocData 8 | { 9 | public Document mDocument; 10 | public ArrayList mHistoryList; 11 | public string mCurrentExpression; 12 | 13 | public PerDocData(Document document) 14 | { 15 | this.mDocument = document; 16 | this.mHistoryList = new ArrayList(); 17 | } 18 | 19 | private PerDocData() 20 | { 21 | } 22 | 23 | public void AddHistory(string sExpr, CalcResult result) 24 | { 25 | // this.mHistoryList.Add((object)new ExpressionResultPair(sExpr, result)); 26 | } 27 | 28 | public void ClearHistoryData() 29 | { 30 | this.mHistoryList.Clear(); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/ResHandler.cs: -------------------------------------------------------------------------------- 1 | namespace Enesy.EnesyCAD.CommandManager.Ver2 2 | { 3 | internal class ResHandler 4 | { 5 | public static string GetResStringByName(string sName) 6 | { 7 | if (sName == null || sName.Equals("")) 8 | return ""; 9 | if (!sName.StartsWith("#")) 10 | return sName; 11 | sName = sName.Remove(0, 1); 12 | return "";// LocalResources.GetString(sName) ?? sName; 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/ResString.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Enesy.EnesyCAD.CommandManager.Ver2 4 | { 5 | public class ResString 6 | { 7 | [XmlAttribute("name")] 8 | public string mName; 9 | [XmlAttribute("value")] 10 | public string mValue; 11 | } 12 | } -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/VariableCat.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/VariableCat.bmp -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/VariableConst.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/VariableConst.bmp -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/VariableLeaf.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/VariableLeaf.bmp -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/VariableTop.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/VariableTop.bmp -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/angle.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/angle.ico -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/calc_clear.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/calc_clear.bmp -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/calc_clear_hist.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/calc_clear_hist.bmp -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/calc_icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/calc_icon.ico -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/calc_less.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/calc_less.bmp -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/calc_more.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/calc_more.bmp -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/calc_point.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/calc_point.bmp -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/close_16.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/close_16.ico -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/del_var.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/del_var.bmp -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/dialog_cancel.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/dialog_cancel.ico -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/dist.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/dist.ico -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/edit_var.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/edit_var.bmp -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/erase.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/erase.ico -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/gtk_cancel.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/gtk_cancel.ico -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/has_group.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/has_group.png -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/help.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/help.ico -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/intersect.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/intersect.ico -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/new_var.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/new_var.bmp -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/paste.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/paste.ico -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/Resources/ret_var.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/CommandManager/Ver2/Resources/ret_var.bmp -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/StringResource.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Xml.Serialization; 3 | 4 | namespace Enesy.EnesyCAD.CommandManager.Ver2 5 | { 6 | public class StringResource 7 | { 8 | [XmlElement(ElementName = "ResString")] 9 | public ResString[] mStrings; 10 | 11 | public StringResource() 12 | { 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/TextBoxEx.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace Enesy.EnesyCAD.CommandManager.Ver2 5 | { 6 | internal class TextBoxEx : TextBox 7 | { 8 | public TextBoxEx() 9 | { 10 | } 11 | 12 | protected override void WndProc(ref Message msg) 13 | { 14 | base.WndProc(ref msg); 15 | if (msg.Msg == 135) 16 | { 17 | IntPtr result = msg.Result; 18 | msg.Result = (IntPtr)(result.ToInt32() | W32Util.DLGC_WANTALLKEYS); 19 | } 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/ToolTipButton.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace Enesy.EnesyCAD.CommandManager.Ver2 5 | { 6 | public class ToolTipButton : Button 7 | { 8 | private System.Windows.Forms.ToolTip _mToolTip; 9 | private bool fixed_; 10 | 11 | public string ToolTip 12 | { 13 | get 14 | { 15 | return this._mToolTip.GetToolTip((Control)this); 16 | } 17 | set 18 | { 19 | this.SetToolTip(value); 20 | } 21 | } 22 | 23 | public ToolTipButton() 24 | { 25 | this._mToolTip = new System.Windows.Forms.ToolTip(); 26 | this._mToolTip.ShowAlways = true; 27 | } 28 | 29 | private void SetToolTip(string tip) 30 | { 31 | this._mToolTip.Dispose(); 32 | if (tip.Length == 0) 33 | return; 34 | this._mToolTip = new System.Windows.Forms.ToolTip(); 35 | this._mToolTip.SetToolTip((Control)this, tip); 36 | this._mToolTip.ShowAlways = true; 37 | this.Click += new EventHandler(this.HandelClick); 38 | this.fixed_ = true; 39 | } 40 | 41 | private void HandelClick(object sender, EventArgs e) 42 | { 43 | if (this.fixed_) 44 | return; 45 | this.ToolTip = this.ToolTip; 46 | } 47 | 48 | protected override void OnLeave(EventArgs e) 49 | { 50 | base.OnLeave(e); 51 | this.fixed_ = false; 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/cmnControlData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Drawing; 3 | using System.Xml.Serialization; 4 | 5 | namespace Enesy.EnesyCAD.CommandManager.Ver2 6 | { 7 | 8 | public class cmnControlData 9 | { 10 | [XmlElement(ElementName = "ToolBar")] 11 | public cmnToolbarData mToolbarData; 12 | [XmlAttribute("AllowGroupHide")] 13 | public bool mbAllowHide; 14 | [XmlElement(ElementName = "ButtonGroup")] 15 | public CMNBtnGroupData[] mBtnGroups; 16 | [XmlElement(ElementName = "UnitsGroup")] 17 | public AcCalcUnitGroupData mUnitGroup; 18 | [XmlElement(ElementName = "VariablesGroup")] 19 | public AcCalcVariableGroupData mVariableGroup; 20 | [XmlElement(ElementName = "ESWMinSize")] 21 | public Size mESWMinSize; 22 | [XmlElement(ElementName = "ESWDefaultSize")] 23 | public Size mESWDefaultSize; 24 | [XmlElement(ElementName = "StringResource")] 25 | public StringResource mStringResource; 26 | 27 | public ArrayList GroupList 28 | { 29 | get 30 | { 31 | ArrayList arrayList = new ArrayList(); 32 | if (this.mBtnGroups != null) 33 | arrayList.AddRange((ICollection)this.mBtnGroups); 34 | //if (this.mUnitGroup != null) 35 | // arrayList.Add((object)this.mUnitGroup); 36 | //if (this.mVariableGroup != null) 37 | // arrayList.Add((object)this.mVariableGroup); 38 | return arrayList; 39 | } 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/cmnGroupData.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Enesy.EnesyCAD.CommandManager.Ver2 4 | { 5 | public class cmnGroupData 6 | { 7 | [XmlAttribute("GroupName")] 8 | public string msGroupName; 9 | [XmlAttribute("GroupNumber")] 10 | public int miGroupNumber; 11 | [XmlAttribute("IsCollapsed")] 12 | public bool mbCollapsed; 13 | private bool _mHide; 14 | 15 | public bool Hide 16 | { 17 | get 18 | { 19 | return this._mHide; 20 | } 21 | set 22 | { 23 | this._mHide = value; 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/cmnResource.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Enesy.EnesyCAD.CommandManager.Ver2 { 12 | using System; 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class cmnResource { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal cmnResource() { 33 | } 34 | 35 | /// 36 | /// Returns the cached ResourceManager instance used by this class. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Enesy.EnesyCAD.CommandManager.Ver2.cmnResource", typeof(cmnResource).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Overrides the current thread's CurrentUICulture property for all 51 | /// resource lookups using this strongly typed resource class. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/cmnToolbarButtonData.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Enesy.EnesyCAD.CommandManager.Ver2 4 | { 5 | public class cmnToolbarButtonData 6 | { 7 | [XmlAttribute("Image")] 8 | public string msImage; 9 | [XmlAttribute("Expression")] 10 | public string msExpression; 11 | [XmlAttribute("ToolTip")] 12 | public string msToolTip; 13 | [XmlAttribute("Type")] 14 | public string msType; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandManager/Ver2/cmnToolbarData.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Enesy.EnesyCAD.CommandManager.Ver2 4 | { 5 | public class cmnToolbarData 6 | { 7 | [XmlElement(ElementName = "ToolBarButton")] 8 | public cmnToolbarButtonData[] mButtons; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CommandsHelp.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Enesy.EnesyCAD 3 | { 4 | public class CommandsHelp 5 | { 6 | public const string EnesyAuthor = "Enesy Team"; 7 | public const string CommandsManager = Enesy.Page.CadYoutube; 8 | public const string TextAligment = Enesy.Page.CadYoutube; 9 | public const string TextParagraph = Enesy.Page.CadYoutube; 10 | public const string CoordinatePicker= Enesy.Page.CadYoutube; 11 | public const string ImportLisp = Enesy.Page.CadYoutube; 12 | public const string MultiplePlot = Enesy.Page.CadYoutube; 13 | public const string UCSuite = Enesy.Page.CadYoutube; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CoreTeamCommands/AutoNumber/AutoNumberControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Drawing; 5 | using System.Data; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Windows.Forms; 9 | 10 | namespace Enesy.EnesyCAD.CoreTeamCommands.AutoNumber 11 | { 12 | public partial class AutoNumberControl : UserControl 13 | { 14 | public AutoNumberControl() 15 | { 16 | InitializeComponent(); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CoreTeamCommands/AutoNumber/Rectangle.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using Autodesk.AutoCAD.Geometry; 4 | 5 | namespace Enesy.EnesyCAD.CoreTeamCommands.AutoNumber 6 | { 7 | public class Rectangle 8 | { 9 | public Rectangle() 10 | { 11 | } 12 | public Rectangle(double width, double height) 13 | { 14 | Width = width; 15 | Height = height; 16 | UpperLeft = _upperLeft; 17 | UpperRight = _upperRight; 18 | LowerLeft = _lowerLeft; 19 | LowerRight = _lowerRight; 20 | } 21 | 22 | public double Width { get; set; } 23 | public double Height { get; set; } 24 | 25 | private Point2d _upperLeft; 26 | private Point2d _upperRight; 27 | private Point2d _lowerLeft; 28 | private Point2d _lowerRight; 29 | 30 | public Point2d UpperLeft 31 | { 32 | get { return _upperLeft; } 33 | set { _upperLeft = value; } 34 | } 35 | public Point2d UpperRight 36 | { 37 | get { return _upperRight; } 38 | set { _upperRight = value; } 39 | } 40 | public Point2d LowerLeft 41 | { 42 | get { return _lowerLeft; } 43 | set { _lowerLeft = value; } 44 | } 45 | public Point2d LowerRight 46 | { 47 | get { return _lowerRight; } 48 | set { _lowerRight = value; } 49 | } 50 | public Point2d Center 51 | { 52 | get { return new Point2d((LowerLeft.X + UpperRight.X) / 2, (LowerLeft.Y + UpperRight.Y) / 2); } 53 | } 54 | 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CoreTeamCommands/Distance/DistanceType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ComponentModel; 3 | 4 | namespace Enesy.EnesyCAD.CoreTeamCommands.Distance 5 | { 6 | public enum DistanceType 7 | { 8 | [Description("Horizontal")] 9 | Horizontal = 0, 10 | [Description("Vertical")] 11 | Vertical = 1, 12 | [Description("Curve")] 13 | Curve = 2 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CoreTeamCommands/Distance/OutputMode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Enesy.EnesyCAD.CoreTeamCommands.Distance 4 | { 5 | public enum OutputMode 6 | { 7 | Insert = 0, 8 | Replace = 1, 9 | WriteOnEditor =2 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CoreTeamCommands/Others/ObjectSnap/ObjectSnapCommands.cs: -------------------------------------------------------------------------------- 1 | //using Autodesk.AutoCAD.ApplicationServices; 2 | //using Autodesk.AutoCAD.EditorInput; 3 | //using Autodesk.AutoCAD.Runtime; 4 | //using Enesy.EnesyCAD.Runtime; 5 | 6 | //namespace Enesy.EnesyCAD.CoreTeamCommands.Others.ObjectSnap 7 | //{ 8 | // // Kean Wislam 9 | // [CommandMethod("FORSNAP")] 10 | // public static void ForceObjectSnapping() 11 | // { 12 | // var doc = Application.DocumentManager.MdiActiveDocument; 13 | // var ed = doc.Editor; 14 | // ed.PointFilter += new PointFilterEventHandler(OnPointFilter); 15 | // } 16 | 17 | // [CommandMethod("UNFORSNAP")] 18 | // public static void DisableForcedObjectSnapping() 19 | // { 20 | // var doc = Application.DocumentManager.MdiActiveDocument; 21 | // var ed = doc.Editor; 22 | // ed.PointFilter -= new PointFilterEventHandler(OnPointFilter); 23 | // } 24 | 25 | // static void OnPointFilter(object sender, PointFilterEventArgs e) 26 | // { 27 | // // Only if a command is active 28 | 29 | // bool cmdActive = 30 | // (short)Application.GetSystemVariable("CMDACTIVE") == 1; 31 | // if (e.Context.PointComputed && cmdActive) 32 | // { 33 | // // Check whether the point has been computed via an 34 | // // object snap 35 | 36 | // if ( 37 | // (e.Context.History & PointHistoryBits.ObjectSnapped) == 0 38 | // ) 39 | // { 40 | // // If not, don't accept it 41 | 42 | // e.Result.Retry = true; 43 | // } 44 | // } 45 | // } 46 | //} 47 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CoreTeamCommands/Test/Test.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.AutoCAD.Runtime; 2 | using Enesy.EnesyCAD.CommandManager.Ver2; 3 | using System; 4 | using System.Windows.Forms; 5 | 6 | namespace Enesy.EnesyCAD.CoreTeamCommands.Test 7 | { 8 | public class TestCommands : HavePaletteCommandBase 9 | { 10 | public TestCommands() : base() 11 | { 12 | } 13 | 14 | [CommandMethod("YYY")] 15 | public void Test1() 16 | { 17 | MyControl = new UserControl(); 18 | MyPaletteHeader = "Test"; 19 | MyControl.Controls.Add(new TextBox() { Text = "Some Text"}); 20 | 21 | base.Active(); 22 | //CMNApplication.ESWCmn.ESW.Activate(CMNApplication.ESWCmn.ESW.Count - 1); 23 | } 24 | } 25 | public class AnotherTestCommands : HavePaletteCommandBase 26 | { 27 | public AnotherTestCommands() 28 | : base() 29 | { 30 | } 31 | 32 | [CommandMethod("TTT")] 33 | public void Test1() 34 | { 35 | MyControl = new UserControl(); 36 | MyPaletteHeader = "Another Test"; 37 | //MyControl.Controls.Add(new TextBox() { Text = "Another Text" }); 38 | 39 | UserControl1 uc = new UserControl1(); 40 | MyControl = uc; 41 | 42 | base.Active(); 43 | //CMNApplication.ESWCmn.ESW.Activate(CMNApplication.ESWCmn.ESW.Count - 1); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CoreTeamCommands/Test/UserControl1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Drawing; 5 | using System.Data; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Windows.Forms; 9 | 10 | namespace Enesy.EnesyCAD.CoreTeamCommands.Test 11 | { 12 | public partial class UserControl1 : UserControl 13 | { 14 | public UserControl1() 15 | { 16 | InitializeComponent(); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/CoreTeamCommands/XLine/CreateAngleXLine.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Autodesk.AutoCAD.ApplicationServices; 3 | using Autodesk.AutoCAD.DatabaseServices; 4 | using Autodesk.AutoCAD.EditorInput; 5 | using Autodesk.AutoCAD.Geometry; 6 | using Autodesk.AutoCAD.Runtime; 7 | using Enesy.EnesyCAD.DatabaseServices; 8 | 9 | namespace Enesy.EnesyCAD.CoreTeamCommands.XLine 10 | { 11 | public class CreateAngleXLine 12 | { 13 | [CommandMethod("XXA")] 14 | public void CreateAngleXLineCommand() 15 | { 16 | PromptPointOptions ppo = new PromptPointOptions("\nPick Point"); 17 | PromptPointResult ppr = GLOBAL.CurrentEditor.GetPoint(ppo); 18 | if (ppr.Status != PromptStatus.OK) return; 19 | 20 | PromptDoubleOptions pdo = new PromptDoubleOptions("\nEnter Grade (%)"); 21 | PromptDoubleResult pdr = GLOBAL.CurrentEditor.GetDouble(pdo); 22 | if (pdr.Status != PromptStatus.OK) return; 23 | // calculate second point 24 | Point3d secondPoint = Helper.Point3dHelper.Offset(ppr.Value, 100, pdr.Value, 0); 25 | Xline xline = new Xline() { BasePoint = ppr.Value, UnitDir = new Vector3d(secondPoint.X - ppr.Value.X, secondPoint.Y - ppr.Value.Y, secondPoint.Z - ppr.Value.Z) }; 26 | CompositeFigure cg = new CompositeFigure(); 27 | cg.Children.Add(xline); 28 | cg.Append(GLOBAL.CurrentDocument); 29 | 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/DatabaseServices/CmdRecord.cs: -------------------------------------------------------------------------------- 1 |  2 | 3 | namespace Enesy.EnesyCAD.DatabaseServices 4 | { 5 | internal struct CmdRecord 6 | { 7 | public string GlobalName, Tag, Description, Author, Email, Help, Category; 8 | 9 | public CmdRecord(string globalName, string tab, string description, 10 | string author, string email, string help, string category) 11 | { 12 | GlobalName = globalName; 13 | Tag = tab; 14 | Description = description; 15 | Author = author; 16 | Email = email; 17 | Help = help; 18 | Category = category; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/DatabaseServices/CmdTableRecord.cs: -------------------------------------------------------------------------------- 1 | using System.Data; 2 | 3 | namespace Enesy.EnesyCAD.DatabaseServices 4 | { 5 | internal class CmdTableRecord : System.Data.DataTable 6 | { 7 | /// 8 | /// Constructor 9 | /// 10 | public CmdTableRecord() 11 | { 12 | // Init Command Table Record 13 | this.Columns.Add("Commands", typeof(string)); 14 | this.Columns.Add("Tag", typeof(string)); 15 | this.Columns.Add("Description", typeof(string)); 16 | this.Columns.Add("Author", typeof(string)); 17 | this.Columns.Add("Email", typeof(string)); 18 | this.Columns.Add("Help", typeof(string)); 19 | this.Columns.Add("Group", typeof(string)); 20 | } 21 | 22 | /// 23 | /// Add a cmdRecord to table 24 | /// 25 | /// 26 | public void Add(CmdRecord cmd) 27 | { 28 | if (!this.Contains(cmd.GlobalName)) 29 | { 30 | DataRow dr = this.NewRow(); 31 | dr["Commands"] = cmd.GlobalName; 32 | dr["Tag"] = cmd.Tag; 33 | dr["Description"] = cmd.Description; 34 | dr["Author"] = cmd.Author; 35 | dr["Email"] = cmd.Email; 36 | dr["Help"] = cmd.Help; 37 | dr["Group"] = cmd.Category; 38 | this.Rows.Add(dr); 39 | } 40 | } 41 | 42 | public void Add(string name, string tag, string description, string author, 43 | string email, string help, string category) 44 | { 45 | if (!this.Contains(name)) 46 | { 47 | DataRow dr = this.NewRow(); 48 | dr["Commands"] = name; 49 | dr["Tag"] = tag; 50 | dr["Description"] = description; 51 | dr["Author"] = author; 52 | dr["Email"] = email; 53 | dr["Help"] = help; 54 | dr["Group"] = category; 55 | this.Rows.Add(dr); 56 | } 57 | } 58 | 59 | /// 60 | /// Clearing all rows 61 | /// 62 | public void ClearCmd() 63 | { 64 | this.Rows.Clear(); 65 | } 66 | 67 | /// 68 | /// Check if CmdTblRec contains cmd name 69 | /// 70 | /// 71 | /// 72 | public bool Contains(string cmdName) 73 | { 74 | bool flag = false; 75 | try 76 | { 77 | DataRow[] found = this.Select("Commands ='" + cmdName + "'"); 78 | flag = (found.Length > 0 ? true : false); 79 | } 80 | catch 81 | { 82 | } 83 | return flag; 84 | } 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/DatabaseServices/Database.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using Autodesk.AutoCAD.Runtime; 5 | using System.Data; 6 | 7 | namespace Enesy.EnesyCAD.DatabaseServices 8 | { 9 | internal partial class Database 10 | { 11 | #region Field and Properties 12 | /// 13 | /// Store all command method 14 | /// 15 | private CmdTableRecord m_cmdTableRecord = new CmdTableRecord(); 16 | public CmdTableRecord CmdTableRecord 17 | { 18 | get { return m_cmdTableRecord; } 19 | set { m_cmdTableRecord = value; } 20 | } 21 | #endregion 22 | 23 | #region Constructor 24 | public Database() 25 | { 26 | LoadingECM(false); 27 | LoadingULF(); 28 | } 29 | #endregion 30 | 31 | /// 32 | /// Update all user lisp function if any changing 33 | /// 34 | public void ReloadULF() 35 | { 36 | this.CmdTableRecord.ClearCmd(); 37 | this.LoadingECM(false); 38 | this.LoadingULF(); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/DatabaseServices/Figure/CompositeFigure.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Autodesk.AutoCAD.ApplicationServices; 3 | using Autodesk.AutoCAD.DatabaseServices; 4 | using System.Collections.Generic; 5 | using System.ComponentModel; 6 | using Autodesk.AutoCAD.Geometry; 7 | 8 | namespace Enesy.EnesyCAD.DatabaseServices 9 | { 10 | /// 11 | /// Composite Figure 12 | /// 13 | public class CompositeFigure : FigureBase, INotifyPropertyChanged 14 | { 15 | List _children = null; 16 | [Browsable(false)] 17 | public List Children 18 | { 19 | get { return _children; } 20 | set 21 | { 22 | _children = value; 23 | OnPropertyChanged("Children"); 24 | } 25 | } 26 | public CompositeFigure() 27 | { 28 | Children = new List(); 29 | } 30 | [Browsable(false)] 31 | public virtual Point2d InsertPoint { get; set; } 32 | 33 | public override void Append(Document drawing) 34 | { 35 | this.Drawing = drawing; 36 | Autodesk.AutoCAD.DatabaseServices.Database acDb = Drawing.Database; 37 | Transaction = Drawing.TransactionManager.StartTransaction(); 38 | BlockTableRecord = Transaction.GetObject(acDb.CurrentSpaceId, OpenMode.ForWrite) as BlockTableRecord; 39 | 40 | foreach (Entity f in Children) 41 | { 42 | BlockTableRecord.AppendEntity(f); 43 | Transaction.AddNewlyCreatedDBObject(f, true); 44 | } 45 | Transaction.Commit(); 46 | } 47 | 48 | 49 | #region INotyfi 50 | public event PropertyChangedEventHandler PropertyChanged; 51 | protected void OnPropertyChanged(string propertyName) 52 | { 53 | OnPropertyChanged(new PropertyChangedEventArgs(propertyName)); 54 | } 55 | protected void OnPropertyChanged(PropertyChangedEventArgs e) 56 | { 57 | PropertyChangedEventHandler handler = PropertyChanged; 58 | if (handler != null) 59 | handler(this, e); 60 | } 61 | #endregion 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/DatabaseServices/Figure/FigureBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Autodesk.AutoCAD.ApplicationServices; 3 | using Autodesk.AutoCAD.DatabaseServices; 4 | using System.ComponentModel; 5 | using System.Xml; 6 | using System.Collections.Generic; 7 | 8 | namespace Enesy.EnesyCAD.DatabaseServices 9 | { 10 | /// 11 | /// Base class of Figure 12 | /// 13 | public class FigureBase : IFigure 14 | { 15 | [Browsable(false)] 16 | public Document Drawing { get; set; } 17 | [Browsable(false)] 18 | public Transaction Transaction { get; set; } 19 | [Browsable(false)] 20 | public BlockTableRecord BlockTableRecord { get; set; } 21 | 22 | #region Methods 23 | public virtual void Append(Document drawing) 24 | { 25 | 26 | } 27 | #endregion 28 | 29 | #region xml 30 | public virtual void WriteXml(XmlWriter writer) 31 | { 32 | writer.WriteAttributeString("Style", ""); 33 | } 34 | 35 | public virtual void ReadXml(XmlElement element) 36 | { 37 | 38 | } 39 | 40 | 41 | 42 | #endregion 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/DatabaseServices/Figure/IFigure.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Autodesk.AutoCAD.ApplicationServices; 3 | using Autodesk.AutoCAD.DatabaseServices; 4 | 5 | namespace Enesy.EnesyCAD.DatabaseServices 6 | { 7 | public interface IFigure 8 | { 9 | Document Drawing { get; set; } 10 | Transaction Transaction { get; set; } 11 | void Append(Document drawing); 12 | void WriteXml(System.Xml.XmlWriter writer); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/DatabaseServices/LispFunction.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Enesy.EnesyCAD.DatabaseServices 6 | { 7 | internal struct LispFunction 8 | { 9 | public string GlobalName; 10 | public string Tag; 11 | public string Description; 12 | public string Author; 13 | public string Email; 14 | public string Help; 15 | public string FileName; 16 | public int Line; 17 | 18 | public LispFunction(string globalName, string tag, string description, 19 | string author, string email, string help, string fileName, int line) 20 | { 21 | GlobalName = globalName; 22 | Tag = tag; 23 | Description = description; 24 | Author = author; 25 | Email = email; 26 | Help = help; 27 | FileName = fileName; 28 | Line = line; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/DatabaseServices/ULFLoader.cs: -------------------------------------------------------------------------------- 1 | using System.Xml; 2 | using System.Collections.Generic; 3 | using eApp = Enesy.EnesyCAD.ApplicationServices.EneApplication; 4 | 5 | namespace Enesy.EnesyCAD.DatabaseServices 6 | { 7 | internal partial class Database 8 | { 9 | /// 10 | /// Loading CmdRecord from xml contents (for encrypted xml file) 11 | /// 12 | /// 13 | private void LoadingULF(string xmlContents) 14 | { 15 | try 16 | { 17 | // Loading string as xml 18 | XmlDocument xDoc = new XmlDocument(); 19 | xDoc.LoadXml(xmlContents); 20 | 21 | // Find all CmdRecord 22 | XmlNodeList xNodes = xDoc.GetElementsByTagName("CmdRecord"); 23 | foreach (XmlNode node in xNodes) 24 | { 25 | CmdRecord cmd = new CmdRecord( 26 | node.ChildNodes.Item(0).InnerText.Trim(), // name 27 | node.ChildNodes.Item(1).InnerText.Trim(), // tab 28 | node.ChildNodes.Item(2).InnerText, // description 29 | node.ChildNodes.Item(3).InnerText, // author 30 | node.ChildNodes.Item(4).InnerText.Trim(), // email 31 | node.ChildNodes.Item(5).InnerText.Trim(), // help 32 | node.ChildNodes.Item(6).InnerText.Trim() 33 | ); 34 | this.CmdTableRecord.Add(cmd); 35 | } 36 | } 37 | catch 38 | { 39 | } 40 | } 41 | 42 | /// 43 | /// Loading fileNames of user command files 44 | /// 45 | /// Collection of files 46 | private void LoadingULF() 47 | { 48 | // Write message to command window 49 | Autodesk.AutoCAD.EditorInput.Editor ed = 50 | Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager. 51 | MdiActiveDocument.Editor; 52 | try 53 | { 54 | ed.WriteMessage("\nLoading ULF Database ..."); 55 | 56 | // Get all userCommandFiles 57 | string[] ULFFiles; 58 | ULFFiles = eApp.EneCadRegistry.UserCommandFiles; 59 | foreach (string file in ULFFiles) 60 | { 61 | string cont = System.IO.File.ReadAllText(file); 62 | LoadingULF(cont); 63 | } 64 | } 65 | catch (System.Exception ex) 66 | { 67 | ed.WriteMessage(ex.Message); 68 | ed.WriteMessage("\nLoading ULF Database unsuccessfully!"); 69 | } 70 | } 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/EnesyCAD.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | ShowAllFiles 5 | 6 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/EntityProperties.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Enesy.EnesyCAD 4 | { 5 | /// 6 | /// Type of entity 7 | /// 8 | [Flags] 9 | public enum EntityType : byte 10 | { 11 | None = 0, 12 | Block = 1, 13 | Polyline = 2, 14 | Line = 3 15 | } 16 | 17 | /// 18 | /// Type of charactericstic of Block/Xref (Name, FileName or Path (absolute)) 19 | /// 20 | [Flags] 21 | public enum BlockName : byte 22 | { 23 | Null, 24 | Name, 25 | FileName, 26 | Path 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Forms/EnesyCADForm.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.InteropServices; 2 | using System.Windows.Forms; 3 | 4 | using Autodesk.AutoCAD.ApplicationServices; 5 | using acApp = Autodesk.AutoCAD.ApplicationServices.Application; 6 | using Autodesk.AutoCAD.EditorInput; 7 | 8 | namespace Enesy.EnesyCAD.Forms 9 | { 10 | public class EnesyCADForm : System.Windows.Forms.Form 11 | { 12 | [DllImport("user32.dll")] 13 | private static extern System.IntPtr SetFocus(System.IntPtr hwnd); 14 | 15 | /// 16 | /// Help link. It is link to if F1 key is pressed 17 | /// 18 | [System.ComponentModel.DefaultValue("")] 19 | public string Help { get; set; } 20 | 21 | /// 22 | /// ShowModal Dialog method 23 | /// 24 | public virtual void ShowModal() 25 | { 26 | acApp.ShowModalDialog(this); 27 | this.Icon = Enesy.Drawing.Icons.enesyIcon; 28 | } 29 | 30 | public virtual void ShowModeless() 31 | { 32 | acApp.ShowModelessDialog(this); 33 | this.Icon = Enesy.Drawing.Icons.enesyIcon; 34 | } 35 | 36 | public virtual void ShowModeless(bool displayImpliedSelection) 37 | { 38 | Document doc = acApp.DocumentManager.MdiActiveDocument; 39 | Editor ed = doc.Editor; 40 | PromptSelectionResult psr = ed.SelectImplied(); 41 | this.ShowModeless(); 42 | if (psr.Status == PromptStatus.OK && displayImpliedSelection) 43 | { 44 | ed.SetImpliedSelection(psr.Value.GetObjectIds()); 45 | System.IntPtr hwnd = Autodesk.AutoCAD.ApplicationServices 46 | .Application.MainWindow.Handle; 47 | SetFocus(hwnd); 48 | SetFocus(this.Handle); 49 | } 50 | } 51 | 52 | /// 53 | /// Perform Close() method if Esc key is pressed 54 | /// Visit help page if F1 is pressed 55 | /// 56 | /// 57 | /// 58 | /// 59 | protected override bool ProcessCmdKey(ref Message msg, Keys keyData) 60 | { 61 | if (keyData == Keys.Escape) 62 | { 63 | this.Close(); 64 | } 65 | 66 | if (keyData == Keys.F1) 67 | { 68 | if (Help != "") 69 | { 70 | System.Diagnostics.Process.Start(this.Help); 71 | } 72 | } 73 | 74 | return base.ProcessCmdKey(ref msg, keyData); 75 | } 76 | 77 | protected override void OnHelpButtonClicked(System.ComponentModel.CancelEventArgs e) 78 | { 79 | base.OnHelpButtonClicked(e); 80 | 81 | System.Diagnostics.Process.Start(this.Help); 82 | } 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Forms/Testing/GlobalResources.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | using System.Resources; 4 | 5 | namespace Autodesk.AutoCAD.Customization 6 | { 7 | internal class GlobalResources 8 | { 9 | private static ResourceManager rm_; 10 | 11 | public GlobalResources() 12 | { 13 | } 14 | 15 | public static object GetObject(string name) 16 | { 17 | if (GlobalResources.rm_ == null) 18 | { 19 | GlobalResources.rm_ = new ResourceManager(typeof(GlobalResources)); 20 | } 21 | return GlobalResources.rm_.GetObject(name, CultureInfo.InvariantCulture); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Forms/Testing/LocalResources.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Resources; 3 | 4 | namespace Autodesk.AutoCAD.Customization 5 | { 6 | internal class LocalResources 7 | { 8 | private static ResourceManager rm_; 9 | 10 | public LocalResources() 11 | { 12 | } 13 | 14 | public static string GetString(string name) 15 | { 16 | if (LocalResources.rm_ == null) 17 | { 18 | LocalResources.rm_ = new ResourceManager(typeof(LocalResources)); 19 | } 20 | return LocalResources.rm_.GetString(name); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Forms/Testing/TestCommands.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Autodesk.AutoCAD.ApplicationServices; 3 | using Autodesk.AutoCAD.DatabaseServices; 4 | using System.ComponentModel; 5 | using Autodesk.AutoCAD.EditorInput; 6 | using System.Reflection; 7 | using Autodesk.AutoCAD.Runtime; 8 | using Autodesk.AutoCAD.Geometry; 9 | using Enesy.EnesyCAD.Helper; 10 | using Autodesk.AutoCAD.CustomizationEx; 11 | 12 | namespace Enesy.EnesyCAD.Test 13 | { 14 | public class TestCommands 15 | { 16 | [CommandMethod("TEST1")] 17 | public void Excute() 18 | { 19 | MainForm m = new MainForm(); 20 | m.ShowDialog(); 21 | 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Geometry/RectangleEx.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Autodesk.AutoCAD.Geometry; 3 | 4 | namespace Enesy.EnesyCAD.Geometry 5 | { 6 | public class RectangleEx 7 | { 8 | public RectangleEx() 9 | { 10 | } 11 | public RectangleEx(double width, double height) 12 | { 13 | Width = width; 14 | Height = height; 15 | UpperLeft = _upperLeft; 16 | UpperRight = _upperRight; 17 | LowerLeft = _lowerLeft; 18 | LowerRight = _lowerRight; 19 | } 20 | 21 | public double Width { get; set; } 22 | public double Height { get; set; } 23 | 24 | private Point2d _upperLeft; 25 | private Point2d _upperRight; 26 | private Point2d _lowerLeft; 27 | private Point2d _lowerRight; 28 | 29 | public Point2d UpperLeft 30 | { 31 | get { return _upperLeft; } 32 | set { _upperLeft = value; } 33 | } 34 | public Point2d UpperRight 35 | { 36 | get { return _upperRight; } 37 | set { _upperRight = value; } 38 | } 39 | public Point2d LowerLeft 40 | { 41 | get { return _lowerLeft; } 42 | set { _lowerLeft = value; } 43 | } 44 | public Point2d LowerRight 45 | { 46 | get { return _lowerRight; } 47 | set { _lowerRight = value; } 48 | } 49 | public Point2d Center 50 | { 51 | get { return new Point2d((LowerLeft.X + UpperRight.X) / 2, (LowerLeft.Y + UpperRight.Y) / 2); } 52 | } 53 | 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Helper/EntitySelector.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.AutoCAD.ApplicationServices; 2 | using Autodesk.AutoCAD.DatabaseServices; 3 | using Autodesk.AutoCAD.EditorInput; 4 | using Autodesk.AutoCAD.Runtime; 5 | using Autodesk.AutoCAD.Geometry; 6 | using System; 7 | 8 | namespace Enesy.EnesyCAD.Helper 9 | { 10 | public partial class EntitySelector 11 | { 12 | public static DBText[] SelectMultiDbText(string message, string rejectMessage = "") 13 | { 14 | DBText[] ents = null; 15 | 16 | Document acDoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument; 17 | Database acDB = acDoc.Database; 18 | Editor acEd = acDoc.Editor; 19 | 20 | TypedValue[] acTypValAr = new TypedValue[1]; 21 | acTypValAr.SetValue(new TypedValue((int)DxfCode.Start, "TEXT"), 0); 22 | 23 | SelectionFilter acSelFtr = new SelectionFilter(acTypValAr); 24 | PromptSelectionOptions po = new PromptSelectionOptions(); 25 | po.MessageForAdding = message; 26 | if (!string.IsNullOrEmpty(rejectMessage)) 27 | po.MessageForRemoval = rejectMessage; 28 | 29 | PromptSelectionResult pr = acEd.GetSelection(po, acSelFtr); 30 | 31 | using (Transaction tr = acDB.TransactionManager.StartTransaction()) 32 | { 33 | if (pr.Status == PromptStatus.OK) 34 | { 35 | SelectionSet selectionSet = pr.Value; 36 | ents = new DBText[selectionSet.Count]; 37 | int icount = 0; 38 | foreach (SelectedObject selectedObject in selectionSet) 39 | { 40 | if (selectedObject != null) 41 | { 42 | var selectedEntity = tr.GetObject(selectedObject.ObjectId, OpenMode.ForRead) as DBText; 43 | if (selectedEntity != null) 44 | { 45 | ents[icount] = selectedEntity; 46 | icount++; 47 | } 48 | } 49 | } 50 | return ents; 51 | } 52 | else 53 | return null; 54 | } 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Helper/Point2d.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using Autodesk.AutoCAD.ApplicationServices; 5 | using Autodesk.AutoCAD.DatabaseServices; 6 | using Autodesk.AutoCAD.EditorInput; 7 | using Autodesk.AutoCAD.Geometry; 8 | 9 | namespace Enesy.EnesyCAD.Helper 10 | { 11 | partial class Point2dHelper 12 | { 13 | /// 14 | /// Return distance between two points 15 | /// 16 | /// 1st point 17 | /// 2nd point 18 | /// return distance 19 | internal static double Distance(Autodesk.AutoCAD.Geometry.Point2d point2d1, Autodesk.AutoCAD.Geometry.Point2d point2d2) 20 | { 21 | return Math.Sqrt((point2d1.X - point2d2.X) * (point2d1.X - point2d2.X) + (point2d1.Y - point2d2.Y) * (point2d1.Y - point2d2.Y)); 22 | } 23 | /// 24 | /// Offset 2d Point with giving x and y distances 25 | /// 26 | /// Base Point 27 | /// Distance on X direct 28 | /// Distance on Y direct 29 | /// 30 | internal static Point2d Offset2d(Point2d point, double deltaX, double deltaY) 31 | { 32 | return new Point2d(point.X + deltaX, point.Y + deltaY); 33 | } 34 | internal static Point2d ToPoint2d(Point3d p) 35 | { 36 | return new Point2d(p.X, p.Y); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Helper/PromptHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Autodesk.AutoCAD.Geometry; 3 | using Autodesk.AutoCAD.ApplicationServices; 4 | using Autodesk.AutoCAD.EditorInput; 5 | 6 | namespace Enesy.EnesyCAD.Helper 7 | { 8 | public class EditorHelper 9 | { 10 | public static Point3d GetSinglePoint(string message) 11 | { 12 | Document doc = Application.DocumentManager.MdiActiveDocument; 13 | Editor ed = doc.Editor; 14 | 15 | PromptPointOptions po = new PromptPointOptions(message); 16 | return ed.GetPoint(po).Value; 17 | 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/IO/LispFunction.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Enesy.EnesyCAD.IO 6 | { 7 | class LispFunction 8 | { 9 | public string GlobalName { get; set; } 10 | public string FileName { get; private set; } 11 | public int Line { get; private set; } 12 | 13 | public LispFunction(string globalName, string fileName, int line) 14 | { 15 | GlobalName = globalName; 16 | FileName = fileName; 17 | Line = line; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Plot/BaseFrame.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | using Autodesk.AutoCAD.DatabaseServices; 4 | using Autodesk.AutoCAD.Geometry; 5 | using Enesy.EnesyCAD; 6 | 7 | namespace Enesy.EnesyCAD.Plot 8 | { 9 | class BaseFrame 10 | { 11 | /// 12 | /// Frame 13 | /// 14 | private BlockReference frame; 15 | 16 | /// 17 | /// MinPoint and MaxPoint of plot area 18 | /// 19 | private Point3d[] points; 20 | 21 | /// 22 | /// Origin point of block/xref 23 | /// 24 | private Point3d origin; 25 | 26 | /// 27 | /// MinPoint and MaxPoint of plot area 28 | /// 29 | private Point3d minPoint, maxPoint; 30 | 31 | /// 32 | /// Distance from Origin to MinPoint and MaxPoint 33 | /// 34 | private double dMin, dMax; 35 | 36 | /// 37 | /// Angle between horizontal axis and Origin-MinPoint & MaxPoint direction 38 | /// 39 | private double aMin, aMax; 40 | 41 | /// 42 | /// Constructor 43 | /// 44 | /// 45 | /// 46 | public BaseFrame(BlockReference Frame, Point3d[] Points) 47 | { 48 | frame = Frame; 49 | // Note that position point of blockReference always is in WCS 50 | origin = Frame.Position; 51 | points = Points; 52 | minPoint = points[0]; 53 | maxPoint = points[1]; 54 | dMin = origin.DistanceTo(minPoint); 55 | dMax = origin.DistanceTo(maxPoint); 56 | aMin = Utils.AngleFromXAxisInXYPlane(origin, minPoint); 57 | aMax = Utils.AngleFromXAxisInXYPlane(origin, maxPoint); 58 | } 59 | 60 | /// 61 | /// Caculating plot area from baseFrame & list of block frame 62 | /// 63 | /// List of blockRef of frame 64 | /// Current database 65 | /// List of PlotArea 66 | public List Generate(List blkRefs) 67 | { 68 | List areas = new List(); 69 | 70 | return areas; 71 | } 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Plot/Command.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Autodesk.AutoCAD.Runtime; 3 | 4 | using Autodesk.AutoCAD.ApplicationServices; 5 | using Autodesk.AutoCAD.DatabaseServices; 6 | using Autodesk.AutoCAD.PlottingServices; 7 | using Autodesk.AutoCAD.Geometry; 8 | using Enesy.EnesyCAD.Plot; 9 | 10 | 11 | namespace Enesy.EnesyCAD.Utilities 12 | { 13 | public partial class Command 14 | { 15 | /// 16 | /// Property for GUI - PaletteSet in AutoCAD 17 | /// 18 | public static Autodesk.AutoCAD.Windows.PaletteSet m_ps; 19 | 20 | /// 21 | /// AutoCAD command (is called directly at commandLine) 22 | /// 23 | [EnesyCAD.Runtime.EnesyCADCommandMethod("MP", 24 | "Plot", 25 | "Multiple ploting", 26 | "EnesyCAD", 27 | "quandt@enesy.vn", 28 | Enesy.Page.CadYoutube 29 | )] 30 | public void QuickPlot() 31 | { 32 | if (m_ps == null) 33 | { 34 | //use constructor with Guid so that we can save/load user data 35 | m_ps = new Autodesk.AutoCAD.Windows.PaletteSet("", 36 | new Guid("63B8DB5B-10E4-4924-B8A2-A9CF9158E4F6")); 37 | 38 | m_ps.Style = Autodesk.AutoCAD.Windows.PaletteSetStyles.NameEditable | 39 | Autodesk.AutoCAD.Windows.PaletteSetStyles.ShowPropertiesMenu | 40 | Autodesk.AutoCAD.Windows.PaletteSetStyles.ShowAutoHideButton | 41 | Autodesk.AutoCAD.Windows.PaletteSetStyles.ShowCloseButton; 42 | 43 | m_ps.MinimumSize = new System.Drawing.Size(340, 200); 44 | 45 | m_ps.Add("", new PaletteControl()); 46 | 47 | m_ps.Visible = true; 48 | } 49 | else 50 | { 51 | if (m_ps.Visible) m_ps.Visible = false; 52 | 53 | else m_ps.Visible = true; 54 | } 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Plot/PlotArea.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.AutoCAD.Geometry; 2 | 3 | namespace Enesy.EnesyCAD.Plot 4 | { 5 | class PlotArea 6 | { 7 | /// 8 | /// Properties(/field) that indicates layout own this Plotwindow 9 | /// 10 | public string LayoutName; 11 | 12 | /// 13 | /// Properties that indicates PlotWindow's position 14 | /// MinPoint: Left, Lower corner point 15 | /// MaxPoint: Right, Upper corner point 16 | /// 17 | public Point3d MinPoint, MaxPoint; 18 | 19 | /// 20 | /// Constructor 1 21 | /// 22 | /// Left Lower point of plot area 23 | /// Right Upper point of plot area 24 | /// Layout that contains plot area 25 | public PlotArea(Point3d minPoint, Point3d maxPoint, string layout) 26 | { 27 | LayoutName = layout; 28 | MinPoint = minPoint; 29 | MaxPoint = maxPoint; 30 | } 31 | 32 | /// 33 | /// Constructor 2 34 | /// 35 | /// 36 | /// 37 | public PlotArea(Point3d minPoint, Point3d maxPoint) 38 | { 39 | MinPoint = minPoint; 40 | MaxPoint = maxPoint; 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Plot/QPlotConfig.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Enesy.EnesyCAD.Plot 6 | { 7 | class QPlotConfig 8 | { 9 | /// 10 | /// Printer (or Ploter) 11 | /// In command pallete, printer default is DWG To PDF.pc3 12 | /// 13 | public string Plotter; 14 | 15 | /// 16 | /// Size of paper (in printer) 17 | /// 18 | public string PaperSize; 19 | 20 | /// 21 | /// File plot style table (*.ctb) 22 | /// In command pallete, style table default is monochrome.ctb 23 | /// 24 | public string PlotStyleTable; 25 | 26 | /// 27 | /// Property (/field) indicated that plot window is fited to paper or not 28 | /// 29 | public bool IsFitToPaper; 30 | 31 | /// 32 | /// If IsFitToPaper is false, this command uses CustomScale to plot 33 | /// 34 | public double CustomScale; 35 | 36 | /// 37 | /// Center the plot option 38 | /// 39 | public bool IsCenterThePlot; 40 | 41 | /// 42 | /// Plot offset group (in plot form, autoCAD software) 43 | /// 44 | public double[] PlotOffset = new double[2]; 45 | 46 | /// 47 | /// Constructor 48 | /// 49 | /// 50 | /// 51 | /// 52 | /// 53 | /// 54 | /// 55 | /// is 2 elements double array 56 | public QPlotConfig(string plotter, string paperSize, string plotStyleTable, 57 | bool isFitToPaper, double customScale, bool isCenterThePlot, 58 | double[] plotOffset) 59 | { 60 | Plotter = plotter; 61 | PaperSize = paperSize; 62 | PlotStyleTable = plotStyleTable; 63 | IsFitToPaper = isFitToPaper; 64 | CustomScale = customScale; 65 | IsCenterThePlot = isCenterThePlot; 66 | PlotOffset = plotOffset; 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/PlotServices/BaseFrame.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | using Autodesk.AutoCAD.DatabaseServices; 4 | using Autodesk.AutoCAD.Geometry; 5 | using Enesy.EnesyCAD; 6 | 7 | namespace Enesy.EnesyCAD.Plot 8 | { 9 | class BaseFrame 10 | { 11 | /// 12 | /// Frame 13 | /// 14 | private BlockReference frame; 15 | 16 | /// 17 | /// MinPoint and MaxPoint of plot area 18 | /// 19 | private Point3d[] points; 20 | 21 | /// 22 | /// Origin point of block/xref 23 | /// 24 | private Point3d origin; 25 | 26 | /// 27 | /// MinPoint and MaxPoint of plot area 28 | /// 29 | private Point3d minPoint, maxPoint; 30 | 31 | /// 32 | /// Distance from Origin to MinPoint and MaxPoint 33 | /// 34 | private double dMin, dMax; 35 | 36 | /// 37 | /// Angle between horizontal axis and Origin-MinPoint & MaxPoint direction 38 | /// 39 | private double aMin, aMax; 40 | 41 | /// 42 | /// Constructor 43 | /// 44 | /// 45 | /// 46 | public BaseFrame(BlockReference Frame, Point3d[] Points) 47 | { 48 | frame = Frame; 49 | // Note that position point of blockReference always is in WCS 50 | origin = Frame.Position; 51 | points = Points; 52 | minPoint = points[0]; 53 | maxPoint = points[1]; 54 | dMin = origin.DistanceTo(minPoint); 55 | dMax = origin.DistanceTo(maxPoint); 56 | aMin = Utils.AngleFromXAxisInXYPlane(origin, minPoint); 57 | aMax = Utils.AngleFromXAxisInXYPlane(origin, maxPoint); 58 | } 59 | 60 | /// 61 | /// Caculating plot area from baseFrame & list of block frame 62 | /// 63 | /// List of blockRef of frame 64 | /// Current database 65 | /// List of PlotArea 66 | public List Generate(List blkRefs) 67 | { 68 | List areas = new List(); 69 | 70 | return areas; 71 | } 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/PlotServices/Command.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Autodesk.AutoCAD.Runtime; 3 | 4 | using Autodesk.AutoCAD.ApplicationServices; 5 | using Autodesk.AutoCAD.DatabaseServices; 6 | using Autodesk.AutoCAD.PlottingServices; 7 | using Autodesk.AutoCAD.Geometry; 8 | using Enesy.EnesyCAD.Plot; 9 | 10 | 11 | namespace Enesy.EnesyCAD.Utilities 12 | { 13 | public partial class Command 14 | { 15 | /// 16 | /// Property for GUI - PaletteSet in AutoCAD 17 | /// 18 | public static Autodesk.AutoCAD.Windows.PaletteSet m_ps; 19 | 20 | /// 21 | /// AutoCAD command (is called directly at commandLine) 22 | /// 23 | [EnesyCAD.Runtime.EnesyCADCommandMethod("MP", 24 | "Plot", 25 | "Multiple ploting", 26 | CommandsHelp.EnesyAuthor, 27 | "quandt@enesy.vn", 28 | CommandsHelp.MultiplePlot 29 | )] 30 | [EnesyCAD.Runtime.CommandGroup("MP")] 31 | public void QuickPlot() 32 | { 33 | if (m_ps == null) 34 | { 35 | //use constructor with Guid so that we can save/load user data 36 | m_ps = new Autodesk.AutoCAD.Windows.PaletteSet("", 37 | new Guid("63B8DB5B-10E4-4924-B8A2-A9CF9158E4F6")); 38 | 39 | m_ps.Style = Autodesk.AutoCAD.Windows.PaletteSetStyles.NameEditable | 40 | Autodesk.AutoCAD.Windows.PaletteSetStyles.ShowPropertiesMenu | 41 | Autodesk.AutoCAD.Windows.PaletteSetStyles.ShowAutoHideButton | 42 | Autodesk.AutoCAD.Windows.PaletteSetStyles.ShowCloseButton; 43 | 44 | m_ps.MinimumSize = new System.Drawing.Size(340, 200); 45 | 46 | m_ps.Add("", new PaletteControl()); 47 | 48 | m_ps.Visible = true; 49 | } 50 | else 51 | { 52 | if (m_ps.Visible) m_ps.Visible = false; 53 | 54 | else m_ps.Visible = true; 55 | } 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/PlotServices/PlotArea.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.AutoCAD.Geometry; 2 | 3 | namespace Enesy.EnesyCAD.Plot 4 | { 5 | class PlotArea 6 | { 7 | /// 8 | /// Properties(/field) that indicates layout own this Plotwindow 9 | /// 10 | public string LayoutName; 11 | 12 | /// 13 | /// Properties that indicates PlotWindow's position 14 | /// MinPoint: Left, Lower corner point 15 | /// MaxPoint: Right, Upper corner point 16 | /// 17 | public Point3d MinPoint, MaxPoint; 18 | 19 | /// 20 | /// Constructor 1 21 | /// 22 | /// Left Lower point of plot area 23 | /// Right Upper point of plot area 24 | /// Layout that contains plot area 25 | public PlotArea(Point3d minPoint, Point3d maxPoint, string layout) 26 | { 27 | LayoutName = layout; 28 | MinPoint = minPoint; 29 | MaxPoint = maxPoint; 30 | } 31 | 32 | /// 33 | /// Constructor 2 34 | /// 35 | /// 36 | /// 37 | public PlotArea(Point3d minPoint, Point3d maxPoint) 38 | { 39 | MinPoint = minPoint; 40 | MaxPoint = maxPoint; 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/PlotServices/QPlotConfig.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Enesy.EnesyCAD.Plot 6 | { 7 | class QPlotConfig 8 | { 9 | /// 10 | /// Printer (or Ploter) 11 | /// In command pallete, printer default is DWG To PDF.pc3 12 | /// 13 | public string Plotter; 14 | 15 | /// 16 | /// Size of paper (in printer) 17 | /// 18 | public string PaperSize; 19 | 20 | /// 21 | /// File plot style table (*.ctb) 22 | /// In command pallete, style table default is monochrome.ctb 23 | /// 24 | public string PlotStyleTable; 25 | 26 | /// 27 | /// Property (/field) indicated that plot window is fited to paper or not 28 | /// 29 | public bool IsFitToPaper; 30 | 31 | /// 32 | /// If IsFitToPaper is false, this command uses CustomScale to plot 33 | /// 34 | public double CustomScale; 35 | 36 | /// 37 | /// Center the plot option 38 | /// 39 | public bool IsCenterThePlot; 40 | 41 | /// 42 | /// Plot offset group (in plot form, autoCAD software) 43 | /// 44 | public double[] PlotOffset = new double[2]; 45 | 46 | /// 47 | /// Constructor 48 | /// 49 | /// 50 | /// 51 | /// 52 | /// 53 | /// 54 | /// 55 | /// is 2 elements double array 56 | public QPlotConfig(string plotter, string paperSize, string plotStyleTable, 57 | bool isFitToPaper, double customScale, bool isCenterThePlot, 58 | double[] plotOffset) 59 | { 60 | Plotter = plotter; 61 | PaperSize = paperSize; 62 | PlotStyleTable = plotStyleTable; 63 | IsFitToPaper = isFitToPaper; 64 | CustomScale = customScale; 65 | IsCenterThePlot = isCenterThePlot; 66 | PlotOffset = plotOffset; 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("EnesyCAD")] 9 | [assembly: AssemblyDescription("Command Extend and Manager for AutoCAD")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Enesy")] 12 | [assembly: AssemblyProduct("EnesyCAD")] 13 | [assembly: AssemblyCopyright("Copyright © Enesy 2016")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("1e672195-d48c-4123-93f7-b332ed9f80e9")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("0.1.0.0")] 36 | [assembly: AssemblyFileVersion("0.1.0.0")] 37 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Resources/ClearClipBoard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/Resources/ClearClipBoard.png -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Resources/enesy_newcolor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/Resources/enesy_newcolor.png -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Runtime/CommandGroup.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ComponentModel; 3 | using Autodesk.AutoCAD.Runtime; 4 | 5 | namespace Enesy.EnesyCAD.Runtime 6 | { 7 | [AttributeUsage(AttributeTargets.Method, AllowMultiple = true, Inherited = false)] 8 | public class CommandGroup : Attribute 9 | { 10 | private string mCategory = "Default"; 11 | public string Category 12 | { 13 | get { return mCategory; } 14 | set { mCategory = value; } 15 | } 16 | public CommandGroup(string category) 17 | { 18 | this.mCategory = category; 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Utilities/CivilWorks/RebarArrangment/Commands.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Autodesk.AutoCAD.ApplicationServices; 3 | using Autodesk.AutoCAD.DatabaseServices; 4 | using System.ComponentModel; 5 | using Autodesk.AutoCAD.EditorInput; 6 | using System.Reflection; 7 | using Autodesk.AutoCAD.Runtime; 8 | using Autodesk.AutoCAD.Geometry; 9 | using Enesy.EnesyCAD.Helper; 10 | 11 | namespace Enesy.EnesyCAD.Utilities.CivilWorks.RebarArrangment 12 | { 13 | public class Commands 14 | { 15 | [EnesyCAD.Runtime.EnesyCADCommandMethod("RAR", 16 | "Civil", 17 | "Rebar Arrangment for Basic Shapes", 18 | "EnesyCAD", 19 | "cad@enesy.vn", 20 | "", 21 | CommandFlags.UsePickSet 22 | )] 23 | public void Excute() 24 | { 25 | // Get dimensions 26 | Dialogs.GetDimensions getdim = new Dialogs.GetDimensions(); 27 | if (getdim.ShowDialog() == System.Windows.Forms.DialogResult.OK) 28 | { 29 | Point3d point = EditorHelper.GetSinglePoint("\nPick a point to Draw"); 30 | 31 | RectRebarSection rect = new RectRebarSection(getdim.Width, getdim.Height); 32 | rect.BuildSection(point); 33 | rect.Append(Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument); 34 | 35 | } 36 | 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Utilities/CivilWorks/RebarArrangment/Dialogs/GetDimensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | 9 | namespace Enesy.EnesyCAD.Utilities.CivilWorks.RebarArrangment.Dialogs 10 | { 11 | public partial class GetDimensions : Enesy.EnesyCAD.Forms.EnesyCADForm 12 | { 13 | public double Width { get; set; } 14 | public double Height { get; set; } 15 | public GetDimensions() 16 | { 17 | InitializeComponent(); 18 | } 19 | 20 | private void button2_Click(object sender, EventArgs e) 21 | { 22 | Close(); 23 | } 24 | 25 | private void button1_Click(object sender, EventArgs e) 26 | { 27 | if (!string.IsNullOrEmpty(txtWidth.Text)) 28 | Width = Convert.ToDouble(txtWidth.Text); 29 | if (!string.IsNullOrEmpty(txtHeight.Text)) 30 | Height = Convert.ToDouble(txtHeight.Text); 31 | 32 | DialogResult = System.Windows.Forms.DialogResult.OK; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Utilities/CivilWorks/RebarArrangment/IRebarSection.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.AutoCAD.Geometry; 2 | using System; 3 | 4 | namespace Enesy.EnesyCAD.Utilities.CivilWorks.RebarArrangment 5 | { 6 | public interface IRebarSection 7 | { 8 | /// 9 | /// Concrete Cover thickness 10 | /// 11 | double Cover { get; set; } 12 | /// 13 | /// Build Whole Section 14 | /// 15 | void BuildSection(Point3d startPoint); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Utilities/CivilWorks/RebarArrangment/README.txt: -------------------------------------------------------------------------------- 1 | Rebar Arrangment for some basic shapes, eg. Rectangle, Parallel, Cylinder -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Utilities/CivilWorks/RebarArrangment/RectRebarSection.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.AutoCAD.Geometry; 2 | using Enesy.EnesyCAD.DatabaseServices; 3 | using System; 4 | using Point3dHelper = Enesy.EnesyCAD.Helper.Point3dHelper; 5 | using EditorHelper = Enesy.EnesyCAD.Helper.EditorHelper; 6 | using Autodesk.AutoCAD.DatabaseServices; 7 | 8 | namespace Enesy.EnesyCAD.Utilities.CivilWorks.RebarArrangment 9 | { 10 | public class RectRebarSection : CompositeFigure, IRebarSection 11 | { 12 | public double Cover { get; set; } 13 | 14 | public double Width { get; set; } 15 | public double Height { get; set; } 16 | 17 | public RectRebarSection(double width, double height) 18 | { 19 | Width = width; 20 | Height = height; 21 | } 22 | 23 | public void BuildSection(Point3d startPoint) 24 | { 25 | // Geometry 26 | Point3d[] points = new Point3d[4]; 27 | points[0] = startPoint; 28 | points[1] = Point3dHelper.Offset(points[0], Width, 0, 0); 29 | points[2] = Point3dHelper.Offset(points[1], 0, Height, 0); 30 | points[3] = Point3dHelper.Offset(points[2], -Width, 0, 0); 31 | 32 | Polyline bound = new Polyline(); 33 | bound.AddVertexAt(bound.NumberOfVertices, Helper.Point3dHelper.ToPoint2d(points[0]), 0, 0, 0); 34 | bound.AddVertexAt(bound.NumberOfVertices, Helper.Point3dHelper.ToPoint2d(points[1]), 0, 0, 0); 35 | bound.AddVertexAt(bound.NumberOfVertices, Helper.Point3dHelper.ToPoint2d(points[2]), 0, 0, 0); 36 | bound.AddVertexAt(bound.NumberOfVertices, Helper.Point3dHelper.ToPoint2d(points[3]), 0, 0, 0); 37 | bound.Closed = true; 38 | 39 | this.Children.Add(bound); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Utilities/CivilWorks/RebarArrangment/Shapes.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Enesy.EnesyCAD.Utilities.CivilWorks.RebarArrangment 4 | { 5 | public enum Shapes 6 | { 7 | Rectangle = 1, 8 | Parallel = 2, 9 | Circle = 3 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Utilities/ClipboardManager/Clipboard.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Data; 5 | using System.Diagnostics; 6 | using Autodesk.AutoCAD.Runtime; 7 | using Autodesk.AutoCAD.Windows; 8 | using Autodesk.AutoCAD.EditorInput; 9 | 10 | using Enesy.EnesyCAD.Utilities.ClipboardManager; 11 | 12 | public class ClipBoard : IExtensionApplication 13 | { 14 | 15 | [DebuggerBrowsable(DebuggerBrowsableState.Never)] 16 | 17 | private static ClipboardPalette _cp = null; 18 | public static ClipboardPalette ClipboardPalette 19 | { 20 | get 21 | { 22 | if (_cp == null) 23 | { 24 | _cp = new ClipboardPalette(); 25 | } 26 | return _cp; 27 | } 28 | } 29 | 30 | 31 | private static PaletteSet _ps = null; 32 | public static PaletteSet PaletteSet 33 | { 34 | get 35 | { 36 | if (_ps == null) 37 | { 38 | _ps = new PaletteSet("Clipboard", new System.Guid("ED8CDB2B-3281-4177-99BE-E1A46C3841AD")); 39 | _ps.Text = "Clipboard"; 40 | _ps.DockEnabled = DockSides.Left; 41 | _ps.MinimumSize = new System.Drawing.Size(200, 300); 42 | _ps.Size = new System.Drawing.Size(300, 500); 43 | _ps.Add("Clipboard", ClipboardPalette); 44 | } 45 | return _ps; 46 | } 47 | } 48 | 49 | 50 | public void Initialize() 51 | { 52 | DemandLoading.RegistryUpdate.RegisterForDemandLoading(); 53 | } 54 | 55 | 56 | public void Terminate() 57 | { 58 | } 59 | 60 | [Enesy.EnesyCAD.Runtime.EnesyCADCommandMethod("CLB", 61 | "ClipBoard", 62 | "ClipBoard Manager", 63 | "EnesyCAD", 64 | "cad@enesy.vn", 65 | "https://www.youtube.com/watch?v=ma6t7cuxvNw", 66 | CommandFlags.Modal 67 | )] 68 | public static void ShowClipboard() 69 | { 70 | PaletteSet.Visible = true; 71 | 72 | } 73 | 74 | [Enesy.EnesyCAD.Runtime.EnesyCADCommandMethod("CLBREMOVE", 75 | "ClipBoard", 76 | "Unload ClipBoard Manager", 77 | "EnesyCAD", 78 | "cad@enesy.vn", 79 | "https://www.youtube.com/watch?v=ma6t7cuxvNw", 80 | CommandFlags.Modal 81 | )] 82 | public void RemoveClipboard() 83 | { 84 | DemandLoading.RegistryUpdate.UnregisterForDemandLoading(); 85 | Editor ed = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor; 86 | ed.WriteMessage("The Clipboard Manager will not be loaded" + " automatically in future editing sessions."); 87 | 88 | } 89 | } -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Utilities/Coordinate/ExportCoordinates/Commands.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.AutoCAD.ApplicationServices; 2 | using Autodesk.AutoCAD.DatabaseServices; 3 | using Autodesk.AutoCAD.EditorInput; 4 | using Autodesk.AutoCAD.Geometry; 5 | using Enesy.EnesyCAD.Runtime; 6 | 7 | namespace Enesy.EnesyCAD.Utilities 8 | { 9 | public partial class Commands 10 | { 11 | [EnesyCADCommandMethod( 12 | "EID", 13 | "Coordinate", 14 | "Get and export coordinate of vertex pline", 15 | CommandsHelp.EnesyAuthor, 16 | "quandt@enesy.vn", 17 | CommandsHelp.CoordinatePicker 18 | )] 19 | public void ExportCoordinates() 20 | { 21 | CoordinatePickerDialog cpd = new CoordinatePickerDialog(); 22 | cpd.Help = CommandsHelp.CoordinatePicker; 23 | cpd.ShowModal(); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Utilities/Coordinate/ExportCoordinates/ExportOptionDialog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | 9 | namespace Enesy.EnesyCAD.Utilities.Coordinate 10 | { 11 | public partial class ExportOptionDialog : Form 12 | { 13 | public ExportOptionDialog() 14 | { 15 | InitializeComponent(); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Utilities/Text/Aligment/AligmentPoint.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Enesy.EnesyCAD.Utilities.Text 6 | { 7 | public enum Aligment 8 | { 9 | Left, 10 | Center, 11 | Right, 12 | Top, 13 | Middle, 14 | Bottom 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Utilities/Text/Aligment/TextAligment.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Text; 7 | using System.Runtime.InteropServices; 8 | 9 | using Autodesk.AutoCAD.ApplicationServices; 10 | using Autodesk.AutoCAD.DatabaseServices; 11 | using Autodesk.AutoCAD.Geometry; 12 | using Autodesk.AutoCAD.EditorInput; 13 | using acApp = Autodesk.AutoCAD.ApplicationServices.Application; 14 | 15 | namespace Enesy.EnesyCAD.Utilities.Text 16 | { 17 | public partial class TextAligmentDialog : Enesy.EnesyCAD.Forms.EnesyCADForm 18 | { 19 | public TextAligmentDialog() 20 | { 21 | InitializeComponent(); 22 | this.Help = CommandsHelp.TextAligment; 23 | } 24 | 25 | private void butLeft_Click(object sender, EventArgs e) 26 | { 27 | this.Hide(); 28 | Commands.TextAligmentAction(Aligment.Left); 29 | this.Close(); 30 | } 31 | 32 | private void butCenter_Click(object sender, EventArgs e) 33 | { 34 | this.Hide(); 35 | Commands.TextAligmentAction(Aligment.Center); 36 | this.Close(); 37 | } 38 | 39 | private void butRight_Click(object sender, EventArgs e) 40 | { 41 | this.Hide(); 42 | Commands.TextAligmentAction(Aligment.Right); 43 | this.Close(); 44 | } 45 | 46 | private void butBottom_Click(object sender, EventArgs e) 47 | { 48 | this.Hide(); 49 | Commands.TextAligmentAction(Aligment.Bottom); 50 | this.Close(); 51 | } 52 | 53 | private void butMiddle_Click(object sender, EventArgs e) 54 | { 55 | this.Hide(); 56 | Commands.TextAligmentAction(Aligment.Middle); 57 | this.Close(); 58 | } 59 | 60 | private void butTop_Click(object sender, EventArgs e) 61 | { 62 | this.Hide(); 63 | Commands.TextAligmentAction(Aligment.Top); 64 | this.Close(); 65 | } 66 | } 67 | } -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Utilities/Text/Paragraph/Commands.cs: -------------------------------------------------------------------------------- 1 | using Enesy.EnesyCAD.Runtime; 2 | using Enesy.EnesyCAD; 3 | using Enesy.EnesyCAD.Utilities.Text; 4 | 5 | namespace Enesy.EnesyCAD.Utilities 6 | { 7 | public partial class Commands 8 | { 9 | /// 10 | /// AutoCAD command method 11 | /// 12 | [EnesyCADCommandMethod(globalName: "TTP", tag: "Text", description: "Text space", 13 | author: CommandsHelp.EnesyAuthor, email: "quandt@enesy.vn", 14 | webLink: CommandsHelp.TextParagraph)] 15 | public void TextParagraph() 16 | { 17 | TextParagraphDialog tpd = new TextParagraphDialog(); 18 | tpd.ShowModal(); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Utilities/Text/Paragraph/Paragraph.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | 9 | using Enesy.EnesyCAD.Runtime; 10 | using Autodesk.AutoCAD.ApplicationServices; 11 | using Autodesk.AutoCAD.DatabaseServices; 12 | using Autodesk.AutoCAD.EditorInput; 13 | using acApp = Autodesk.AutoCAD.ApplicationServices.Application; 14 | 15 | namespace Enesy.EnesyCAD.Utilities.Text 16 | { 17 | public partial class TextParagraphDialog : Enesy.EnesyCAD.Forms.EnesyCADForm 18 | { 19 | /// 20 | /// For store ObjID of text 21 | /// 22 | ObjectIdCollection m_objIdColl = new ObjectIdCollection(); 23 | 24 | /// 25 | /// Constructor of form 26 | /// 27 | public TextParagraphDialog() 28 | { 29 | InitializeComponent(); 30 | this.Help = EnesyCAD.CommandsHelp.TextParagraph; 31 | } 32 | 33 | private void butSelectText_Click(object sender, EventArgs e) 34 | { 35 | Document doc = acApp.DocumentManager.MdiActiveDocument; 36 | Database db = doc.Database; 37 | Editor ed = doc.Editor; 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Utilities/Xref/Absolute2Relative/ConvertAbsoluteRelativeDialog.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace Enesy.EnesyCAD.Utilities.Xref.Absolute2Relative 2 | { 3 | partial class ConvertAbsoluteRelativeDialog 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.SuspendLayout(); 32 | // 33 | // ConvertAbsoluteRelativeDialog 34 | // 35 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 36 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 37 | this.ClientSize = new System.Drawing.Size(633, 262); 38 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; 39 | this.Name = "ConvertAbsoluteRelativeDialog"; 40 | this.Text = "ConvertAbsoluteRelativeDialog"; 41 | this.ResumeLayout(false); 42 | 43 | } 44 | 45 | #endregion 46 | } 47 | } -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Utilities/Xref/Absolute2Relative/ConvertAbsoluteRelativeDialog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | 9 | namespace Enesy.EnesyCAD.Utilities.Xref.Absolute2Relative 10 | { 11 | public partial class ConvertAbsoluteRelativeDialog : System.Windows.Forms.Form 12 | { 13 | public ConvertAbsoluteRelativeDialog() 14 | { 15 | InitializeComponent(); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Utilities/Xref/XrefRelativePath/Class1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Autodesk.AutoCAD.ApplicationServices; 6 | using Autodesk.AutoCAD.DatabaseServices; 7 | using Autodesk.AutoCAD.EditorInput; 8 | using Autodesk.AutoCAD.Runtime; 9 | using acad = Autodesk.AutoCAD.ApplicationServices.Application; 10 | 11 | namespace RElXref 12 | { 13 | public class Class1 14 | { 15 | [CommandMethod("RELXREF")] 16 | public void RelXref() 17 | { 18 | Document doc = acad.DocumentManager.MdiActiveDocument; 19 | Editor ed = doc.Editor; 20 | Database db = doc.Database; 21 | Transaction tr = doc.TransactionManager.StartTransaction(); 22 | try 23 | { 24 | using (tr) 25 | { 26 | ObjectIdCollection btrCol = new ObjectIdCollection(); 27 | XrefGraph xrgraph = doc.Database.GetHostDwgXrefGraph(false); 28 | // look at all Nodes in the XrefGraph. Skip 0 node since it is the drawing itself. 29 | for (int i = 1; i < (xrgraph.NumNodes - 1); i++) 30 | { 31 | XrefGraphNode xrNode = xrgraph.GetXrefNode(i); 32 | if (!xrNode.IsNested) 33 | { 34 | BlockTableRecord btr = (BlockTableRecord)tr.GetObject 35 | (xrNode.BlockTableRecordId, OpenMode.ForWrite); 36 | string origPath = btr.PathName; 37 | 38 | string relativePath = AbstoRel(origPath); 39 | ed.WriteMessage("\n Xref: " + btr.Name + " has path " + origPath + " or relative path " + relativePath); 40 | db.XrefEditEnabled = true; 41 | btr.PathName = relativePath; 42 | } 43 | } 44 | tr.Commit(); 45 | } 46 | } 47 | catch(Autodesk.AutoCAD.Runtime.Exception ex) 48 | { 49 | ed.WriteMessage(ex.ToString()); 50 | } 51 | } 52 | private string AbstoRel(string absolutePath) 53 | { 54 | string[] absoluteDirectories = absolutePath.Split('\\'); 55 | string relativePath = @"..\"; 56 | for (int i = absoluteDirectories.Length-2; i < absoluteDirectories.Length ; i++) 57 | { 58 | relativePath = string.Concat(relativePath, absoluteDirectories[i]); 59 | if (i < absoluteDirectories.Length - 1) 60 | { 61 | relativePath = string.Concat(relativePath, "\\"); 62 | } 63 | } 64 | return relativePath; 65 | } 66 | } 67 | } 68 | 69 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Utils/Calculating.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | using Autodesk.AutoCAD.Runtime; 5 | using Autodesk.AutoCAD.ApplicationServices; 6 | using Autodesk.AutoCAD.DatabaseServices; 7 | using Autodesk.AutoCAD.EditorInput; 8 | using Autodesk.AutoCAD.Geometry; 9 | using acApp = Autodesk.AutoCAD.ApplicationServices.Application; 10 | 11 | namespace Enesy.EnesyCAD 12 | { 13 | partial class Utils 14 | { 15 | /// 16 | /// Calculate Polar Point 17 | /// 18 | /// Basepoint 19 | /// Distance from basePoint to target 20 | /// Angle from X axis 21 | /// 22 | public static Point3d Polar(Point3d pPt, double dDist, double dAng) 23 | { 24 | return new Point3d(pPt.X + dDist * Math.Cos(dAng), 25 | pPt.Y + dDist * Math.Sin(dAng), 26 | pPt.Z); 27 | } 28 | 29 | /// 30 | /// Get angle of pnt1-pnt2 line to horizontal axis 31 | /// 32 | /// 33 | /// 34 | /// 35 | public static double AngleFromXAxisInXYPlane( 36 | Point3d firstPoint, Point3d secondPoint) 37 | { 38 | Vector3d normal = new Vector3d(0, 0, 1); 39 | Plane plane = new Plane(new Point3d(0, 0, 0), normal); 40 | Point2d p1, p2; 41 | p1 = firstPoint.Convert2d(plane); 42 | p2 = secondPoint.Convert2d(plane); 43 | return p1.GetVectorTo(p2).Angle; 44 | } 45 | 46 | /// 47 | /// Get middle point between 2 points 48 | /// 49 | /// 50 | /// 51 | /// 52 | public static Point3d MiddlePoint(Point3d firstPoint, Point3d secondPoint) 53 | { 54 | LineSegment3d lineSeg3d = new LineSegment3d(firstPoint, secondPoint); 55 | return lineSeg3d.MidPoint; 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Utils/Others.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | using Autodesk.AutoCAD.Runtime; 5 | using Autodesk.AutoCAD.ApplicationServices; 6 | using Autodesk.AutoCAD.DatabaseServices; 7 | using Autodesk.AutoCAD.EditorInput; 8 | using Autodesk.AutoCAD.Geometry; 9 | using acApp = Autodesk.AutoCAD.ApplicationServices.Application; 10 | 11 | namespace Enesy.EnesyCAD 12 | { 13 | partial class Utils 14 | { 15 | /// 16 | /// Get all layouts of active document 17 | /// 18 | /// Database of active document 19 | /// 20 | public static List GetLayoutNames(Database db) 21 | { 22 | List layoutNames = new List(); 23 | 24 | using (Transaction tr = db.TransactionManager.StartTransaction()) 25 | { 26 | DBDictionary lytDct = 27 | (DBDictionary)tr.GetObject(db.LayoutDictionaryId, OpenMode.ForRead); 28 | 29 | foreach (DBDictionaryEntry lytDe in lytDct) 30 | { 31 | Layout lyt = (Layout)tr.GetObject(lytDe.Value, OpenMode.ForRead); 32 | 33 | layoutNames.Add(lyt.LayoutName); 34 | } 35 | tr.Commit(); 36 | } 37 | return layoutNames; 38 | } 39 | 40 | /// 41 | /// Visit to enesy.vn 42 | /// 43 | public static void VisitWeb() 44 | { 45 | System.Diagnostics.Process.Start("http://enesy.vn/"); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/Utils/R­ectangle.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using Autodesk.AutoCAD.Geometry; 5 | 6 | namespace Enesy.EnesyCAD.Utils 7 | { 8 | public class Rectangle 9 | { 10 | public Rectangle() 11 | { 12 | } 13 | public Rectangle(double width, double height) 14 | { 15 | Width = width; 16 | Height = height; 17 | UpperLeft = _upperLeft; 18 | UpperRight = _upperRight; 19 | LowerLeft = _lowerLeft; 20 | LowerRight = _lowerRight; 21 | } 22 | 23 | public double Width { get; set; } 24 | public double Height { get; set; } 25 | 26 | private Point2d _upperLeft; 27 | private Point2d _upperRight; 28 | private Point2d _lowerLeft; 29 | private Point2d _lowerRight; 30 | 31 | public Point2d UpperLeft 32 | { 33 | get { return _upperLeft; } 34 | set { _upperLeft = value; } 35 | } 36 | public Point2d UpperRight 37 | { 38 | get { return _upperRight; } 39 | set { _upperRight = value; } 40 | } 41 | public Point2d LowerLeft 42 | { 43 | get { return _lowerLeft; } 44 | set { _lowerLeft = value; } 45 | } 46 | public Point2d LowerRight 47 | { 48 | get { return _lowerRight; } 49 | set { _lowerRight = value; } 50 | } 51 | public Point2d Center 52 | { 53 | get { return new Point2d((LowerLeft.X + UpperRight.X) / 2, (LowerLeft.Y + UpperRight.Y) / 2); } 54 | } 55 | 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Enesy/EnesyCAD/VersionInfo.txt: -------------------------------------------------------------------------------- 1 | EnesyCAD;0.2;https://enesyteam.github.io/ -------------------------------------------------------------------------------- /Enesy/EnesyCAD/mobile_64x64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/mobile_64x64.png -------------------------------------------------------------------------------- /Enesy/EnesyCAD/obj/Debug/DesignTimeResolveAssemblyReferences.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/obj/Debug/DesignTimeResolveAssemblyReferences.cache -------------------------------------------------------------------------------- /Enesy/EnesyCAD/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /Enesy/EnesyCAD/obj/Debug/Enesy.EnesyCAD.CommandManager.CommandsManagerDialog.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/obj/Debug/Enesy.EnesyCAD.CommandManager.CommandsManagerDialog.resources -------------------------------------------------------------------------------- /Enesy/EnesyCAD/obj/Debug/Enesy.EnesyCAD.CommandManager.ImportLispDialog.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/obj/Debug/Enesy.EnesyCAD.CommandManager.ImportLispDialog.resources -------------------------------------------------------------------------------- /Enesy/EnesyCAD/obj/Debug/Enesy.EnesyCAD.Plot.PaletteControl.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/obj/Debug/Enesy.EnesyCAD.Plot.PaletteControl.resources -------------------------------------------------------------------------------- /Enesy/EnesyCAD/obj/Debug/Enesy.EnesyCAD.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/obj/Debug/Enesy.EnesyCAD.Properties.Resources.resources -------------------------------------------------------------------------------- /Enesy/EnesyCAD/obj/Debug/Enesy.EnesyCAD.Utilities.CoordinatePickerDialog.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/obj/Debug/Enesy.EnesyCAD.Utilities.CoordinatePickerDialog.resources -------------------------------------------------------------------------------- /Enesy/EnesyCAD/obj/Debug/Enesy.EnesyCAD.Utilities.Text.TextAligmentDialog.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/obj/Debug/Enesy.EnesyCAD.Utilities.Text.TextAligmentDialog.resources -------------------------------------------------------------------------------- /Enesy/EnesyCAD/obj/Debug/Enesy.EnesyCAD.Utilities.Text.TextParagraphDialog.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/obj/Debug/Enesy.EnesyCAD.Utilities.Text.TextParagraphDialog.resources -------------------------------------------------------------------------------- /Enesy/EnesyCAD/obj/Debug/EnesyCAD.csproj.GenerateResource.Cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/obj/Debug/EnesyCAD.csproj.GenerateResource.Cache -------------------------------------------------------------------------------- /Enesy/EnesyCAD/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs -------------------------------------------------------------------------------- /Enesy/EnesyCAD/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs -------------------------------------------------------------------------------- /Enesy/EnesyCAD/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyCAD/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs -------------------------------------------------------------------------------- /Enesy/EnesyLOAD/AssembliesManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | using Microsoft.Win32; 9 | 10 | namespace RegisterAutoCADpzo 11 | { 12 | public partial class AssembliesManager : Form 13 | { 14 | public List Assemblies = new List(); 15 | public AutoCADVersion AutoCADVersion = AutoCADVersion.AutoCAD2007; 16 | public AssembliesManager() 17 | { 18 | InitializeComponent(); 19 | } 20 | public void Setup() 21 | { 22 | foreach (string s in Assemblies) 23 | lstAssemblies.Items.Add(s); 24 | } 25 | 26 | private void btnClose_Click(object sender, EventArgs e) 27 | { 28 | this.Close(); 29 | } 30 | 31 | private void btnUnload_Click(object sender, EventArgs e) 32 | { 33 | RegistryKey currentKey = Registry.CurrentUser.OpenSubKey(RegisteryHelper.KeyFromAutoCADVersion(this.AutoCADVersion), true); 34 | if (!IsReadonly(lstAssemblies.SelectedItem.ToString())) 35 | { 36 | DialogResult rs = MessageBox.Show("Do you want to unload: " + lstAssemblies.SelectedItem.ToString(), "Unload Assembly?", MessageBoxButtons.YesNo, MessageBoxIcon.Question); 37 | if (rs == System.Windows.Forms.DialogResult.Yes) 38 | { 39 | currentKey.DeleteSubKey(lstAssemblies.SelectedItem.ToString()); 40 | currentKey.Close(); 41 | 42 | for (int x = lstAssemblies.SelectedIndices.Count - 1; x >= 0; x--) 43 | { 44 | int idx = lstAssemblies.SelectedIndices[x]; 45 | lstAssemblies.Items.RemoveAt(idx); 46 | } 47 | } 48 | } 49 | else 50 | { 51 | MessageBox.Show("This assembly is readonly!", "Readonly!", MessageBoxButtons.OK, MessageBoxIcon.Error); 52 | } 53 | 54 | } 55 | private bool IsReadonly(string item) 56 | { 57 | List ReadOnlyList = new List(); 58 | ReadOnlyList.Add("AcadAcLaunchNFW"); 59 | ReadOnlyList.Add("AcadAppload"); 60 | ReadOnlyList.Add("AcadPlotStamp"); 61 | ReadOnlyList.Add("Interop.WIA"); 62 | ReadOnlyList.Add("System"); 63 | ReadOnlyList.Add("WSCommCntrAcCon"); 64 | ReadOnlyList.Add("AcMr"); 65 | //ReadOnlyList.Add("AutoCADpzo"); 66 | if (ReadOnlyList.Contains(item)) 67 | return true; 68 | else 69 | return false; 70 | } 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /Enesy/EnesyLOAD/ClearClipBoard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyLOAD/ClearClipBoard.png -------------------------------------------------------------------------------- /Enesy/EnesyLOAD/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Windows.Forms; 4 | 5 | namespace RegisterAutoCADpzo 6 | { 7 | static class Program 8 | { 9 | /// 10 | /// The main entry point for the application. 11 | /// 12 | [STAThread] 13 | static void Main() 14 | { 15 | Application.EnableVisualStyles(); 16 | Application.SetCompatibleTextRenderingDefault(false); 17 | Application.Run(new DemandLoading()); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Enesy/EnesyLOAD/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("EnesyLOAD")] 9 | [assembly: AssemblyDescription("Quản lý các assembly .dll và .arx trong AutoCAD." + "\n" 10 | + " Tự động load các file .dll và .arx khi khởi động AutoCAD." + "\n" 11 | + " Loại bỏ các file .dll và .arx khởi động AutoCAD" + "\n" 12 | )] 13 | [assembly: AssemblyConfiguration("")] 14 | [assembly: AssemblyCompany("")] 15 | [assembly: AssemblyProduct("AutoCAD Demand Loading")] 16 | [assembly: AssemblyCopyright("Copyright © Enesy")] 17 | [assembly: AssemblyTrademark("Enesy")] 18 | [assembly: AssemblyCulture("")] 19 | 20 | // Setting ComVisible to false makes the types in this assembly not visible 21 | // to COM components. If you need to access a type in this assembly from 22 | // COM, set the ComVisible attribute to true on that type. 23 | [assembly: ComVisible(false)] 24 | 25 | // The following GUID is for the ID of the typelib if this project is exposed to COM 26 | [assembly: Guid("8ce33e4f-1a49-49be-9923-91c28bf46bb0")] 27 | 28 | // Version information for an assembly consists of the following four values: 29 | // 30 | // Major Version 31 | // Minor Version 32 | // Build Number 33 | // Revision 34 | // 35 | // You can specify all the values or you can default the Build and Revision Numbers 36 | // by using the '*' as shown below: 37 | // [assembly: AssemblyVersion("1.0.*")] 38 | [assembly: AssemblyVersion("1.0.0.0")] 39 | [assembly: AssemblyFileVersion("1.0.0.0")] 40 | -------------------------------------------------------------------------------- /Enesy/EnesyLOAD/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace EnesyLOAD.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Enesy/EnesyLOAD/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Enesy/EnesyLOAD/Services.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyLOAD/Services.ico -------------------------------------------------------------------------------- /Enesy/EnesyLOAD/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Enesy/EnesyLOAD/icons-free-assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyLOAD/icons-free-assembly.png -------------------------------------------------------------------------------- /Enesy/EnesyLOAD/modifyregistry2.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/EnesyLOAD/modifyregistry2.zip -------------------------------------------------------------------------------- /Enesy/UpgradeLog.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/Enesy/UpgradeLog.htm -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # EnesyCAD (AutoCAD Plugin) 2 | ***One Plugin for All Engineers*** 3 | .NET tool for management AutoCAD native commands, extend AutoCAD commands by C#, AutoLisp language. It's very usefull for Engineers, it optimize your work performance. Let's try it! you'll love it! 4 | 5 | ## Features 6 | * Manage AutoCAD Native Commands (ANC), you can learn to use AutoCAD native command by instruction videos here. 7 | * Extend AutoCAD commands by all user commands around the world 8 | * Manage all Lisp functions, you can add some information to Lisp functions. 9 | * Create List of your favourite commands 10 | 11 | ## For Developers 12 | Are you an Engineer? Have you been developed some AutoCAD plugins before? If you're intersted in our project, you can joint our team. 13 | 14 | ## **Making money** with EnesyCAD 15 | You can write your own commands, then making instruction videos about your commands and upload it to Your Chanel, put video link in command attribute. 16 | Example: 17 | ``` 18 | [EnesyCAD.Runtime.EnesyCADCommandMethod("ANU", 19 | "Text", 20 | "Auto Generated numbers or characters", 21 | "EnesyCAD", 22 | "cad@enesy.vn", 23 | "https://www.youtube.com/watch?v=ma6t7cuxvNw", 24 | CommandFlags.UsePickSet 25 | )] 26 | ``` 27 | 28 | ## Demos 29 | See: [EnesyCAD's Youtube Chanel](https://www.youtube.com/enesycadteam) 30 | Notes: Some functions maybe not updated in Youtube chanel at present (we're prepairing) 31 | ## Download 32 | [https://github.com/enesyteam/EnesyCAD/archive/master.zip] (https://github.com/enesyteam/EnesyCAD/archive/master.zip) 33 | 34 | ## How to build 35 | 1. Download Source code 36 | 2. Open `Enesy.sln` solution file in `Visual Studio` (2012 version and newer) 37 | 3. Build Solution 38 | 39 | ## Documentation 40 | For `API` document and `Help` please visit: [http://cad.enesy.vn/](http://cad.enesy.vn/) 41 | Notes: Some documents maybe not updated in website at present (we're prepairing) 42 | -------------------------------------------------------------------------------- /lib/2007/AcAxDb17enures.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2007/AcAxDb17enures.dll -------------------------------------------------------------------------------- /lib/2007/AcCalcUi.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2007/AcCalcUi.dll -------------------------------------------------------------------------------- /lib/2007/AcCui.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2007/AcCui.dll -------------------------------------------------------------------------------- /lib/2007/AcCustomize.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2007/AcCustomize.dll -------------------------------------------------------------------------------- /lib/2007/AcDbMgd-cleaned.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2007/AcDbMgd-cleaned.dll -------------------------------------------------------------------------------- /lib/2007/AcDbMgd.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2007/AcDbMgd.dll -------------------------------------------------------------------------------- /lib/2007/AcETransmit16.tlb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2007/AcETransmit16.tlb -------------------------------------------------------------------------------- /lib/2007/AcMNUParser.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2007/AcMNUParser.dll -------------------------------------------------------------------------------- /lib/2007/AcMgd.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2007/AcMgd.dll -------------------------------------------------------------------------------- /lib/2007/AcMgdReverse.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2007/AcMgdReverse.dll -------------------------------------------------------------------------------- /lib/2007/AcMgdShared.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2007/AcMgdShared.dll -------------------------------------------------------------------------------- /lib/2007/AcPEXCtl16.tlb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2007/AcPEXCtl16.tlb -------------------------------------------------------------------------------- /lib/2007/AcPi16.tlb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2007/AcPi16.tlb -------------------------------------------------------------------------------- /lib/2007/AcPp16.tlb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2007/AcPp16.tlb -------------------------------------------------------------------------------- /lib/2007/AcStMgr.tlb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2007/AcStMgr.tlb -------------------------------------------------------------------------------- /lib/2007/acax17ENU.tlb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2007/acax17ENU.tlb -------------------------------------------------------------------------------- /lib/2007/acmgdinternal.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2007/acmgdinternal.dll -------------------------------------------------------------------------------- /lib/2007/axdb17enu.tlb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2007/axdb17enu.tlb -------------------------------------------------------------------------------- /lib/2014/AcCui.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2014/AcCui.dll -------------------------------------------------------------------------------- /lib/2014/AcDx.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2014/AcDx.dll -------------------------------------------------------------------------------- /lib/2014/AcDxPublishUi.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2014/AcDxPublishUi.dll -------------------------------------------------------------------------------- /lib/2014/AcMr.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2014/AcMr.dll -------------------------------------------------------------------------------- /lib/2014/AcTcMgd.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2014/AcTcMgd.dll -------------------------------------------------------------------------------- /lib/2014/AcWelcomeScreen.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2014/AcWelcomeScreen.dll -------------------------------------------------------------------------------- /lib/2014/AcWindows.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2014/AcWindows.dll -------------------------------------------------------------------------------- /lib/2014/AdWindows.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2014/AdWindows.dll -------------------------------------------------------------------------------- /lib/2014/accoremgd.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2014/accoremgd.dll -------------------------------------------------------------------------------- /lib/2014/acdbmgd.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2014/acdbmgd.dll -------------------------------------------------------------------------------- /lib/2014/acmgd.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2014/acmgd.dll -------------------------------------------------------------------------------- /lib/2016/accoremgd.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2016/accoremgd.dll -------------------------------------------------------------------------------- /lib/2016/acdbmgd.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2016/acdbmgd.dll -------------------------------------------------------------------------------- /lib/2016/acmgd.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enesyteam/EnesyCAD/e98840995edaeaf0000ed04091bdb2cfed60af39/lib/2016/acmgd.dll --------------------------------------------------------------------------------