├── .gitattributes ├── .gitignore ├── LICENSE ├── README.md ├── samples ├── README.md └── addin │ ├── DemoAddIn │ └── cs │ │ ├── DemoAddIn.WPF │ │ ├── DemoAddIn.WPF.csproj │ │ ├── MyWpfEdgeBarPage.xaml │ │ ├── MyWpfEdgeBarPage.xaml.cs │ │ └── Properties │ │ │ ├── AssemblyInfo.cs │ │ │ ├── Resources.Designer.cs │ │ │ ├── Resources.resx │ │ │ ├── Settings.Designer.cs │ │ │ └── Settings.settings │ │ ├── DemoAddIn.sln │ │ └── DemoAddIn │ │ ├── AboutDialog.Designer.cs │ │ ├── AboutDialog.cs │ │ ├── AboutDialog.resx │ │ ├── CompileNativeRes.bat │ │ ├── DemoAddIn.csproj │ │ ├── Instructions.txt │ │ ├── MyAddIn.cs │ │ ├── MyCommands.cs │ │ ├── MyConstants.cs │ │ ├── MyCustomDialog.Designer.cs │ │ ├── MyCustomDialog.cs │ │ ├── MyCustomDialog.resx │ │ ├── MyDocumentEdgeBarControl.Designer.cs │ │ ├── MyDocumentEdgeBarControl.cs │ │ ├── MyDocumentEdgeBarControl.resx │ │ ├── MyEdgeBarPage.cs │ │ ├── MyGlobalEdgeBarControl.Designer.cs │ │ ├── MyGlobalEdgeBarControl.cs │ │ ├── MyGlobalEdgeBarControl.resx │ │ ├── MyViewOverlay3D.cs │ │ ├── Native.rc │ │ ├── Native.res │ │ ├── NativeMessageEdgeBarControl.Designer.cs │ │ ├── NativeMessageEdgeBarControl.cs │ │ ├── NativeMessageEdgeBarControl.resx │ │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Resources.zh-CN.Designer.cs │ │ └── Resources.zh-CN.resx │ │ ├── Registration.bat │ │ ├── packages.config │ │ └── res │ │ ├── BoundingBox_32.png │ │ ├── Box_32.png │ │ ├── Boxes_32.png │ │ ├── Camera_32.png │ │ ├── CommandPrompt_32.png │ │ ├── EdgeBar_20.png │ │ ├── Favorites_32.png │ │ ├── Folder_16.png │ │ ├── GdiPlus_32.png │ │ ├── Help_32.png │ │ ├── Monitor_16.png │ │ ├── Notepad_32.png │ │ ├── Photograph_32.png │ │ ├── Printer_32.png │ │ ├── Question_32.png │ │ ├── Save_16.png │ │ ├── Search_32.png │ │ └── Tools_32.png │ └── EmptyAddIn │ └── cs │ ├── EmptyAddIn.sln │ └── EmptyAddIn │ ├── CompileNativeRes.bat │ ├── EmptyAddIn.csproj │ ├── Instructions.txt │ ├── MyAddIn.cs │ ├── MyConstants.cs │ ├── Native.rc │ ├── Native.res │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx │ └── Registration.bat ├── src ├── SolidEdgeSDK.cs └── SolidEdgeSDK.vb └── tools └── ResetUserSettings.bat /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | ## 4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 5 | 6 | # User-specific files 7 | *.rsuser 8 | *.suo 9 | *.user 10 | *.userosscache 11 | *.sln.docstates 12 | 13 | # User-specific files (MonoDevelop/Xamarin Studio) 14 | *.userprefs 15 | 16 | # Mono auto generated files 17 | mono_crash.* 18 | 19 | # Build results 20 | [Dd]ebug/ 21 | [Dd]ebugPublic/ 22 | [Rr]elease/ 23 | [Rr]eleases/ 24 | x64/ 25 | x86/ 26 | [Aa][Rr][Mm]/ 27 | [Aa][Rr][Mm]64/ 28 | bld/ 29 | [Bb]in/ 30 | [Oo]bj/ 31 | [Ll]og/ 32 | [Ll]ogs/ 33 | 34 | # Visual Studio 2015/2017 cache/options directory 35 | .vs/ 36 | # Uncomment if you have tasks that create the project's static files in wwwroot 37 | #wwwroot/ 38 | 39 | # Visual Studio 2017 auto generated files 40 | Generated\ Files/ 41 | 42 | # MSTest test Results 43 | [Tt]est[Rr]esult*/ 44 | [Bb]uild[Ll]og.* 45 | 46 | # NUnit 47 | *.VisualState.xml 48 | TestResult.xml 49 | nunit-*.xml 50 | 51 | # Build Results of an ATL Project 52 | [Dd]ebugPS/ 53 | [Rr]eleasePS/ 54 | dlldata.c 55 | 56 | # Benchmark Results 57 | BenchmarkDotNet.Artifacts/ 58 | 59 | # .NET Core 60 | project.lock.json 61 | project.fragment.lock.json 62 | artifacts/ 63 | 64 | # StyleCop 65 | StyleCopReport.xml 66 | 67 | # Files built by Visual Studio 68 | *_i.c 69 | *_p.c 70 | *_h.h 71 | *.ilk 72 | *.meta 73 | *.obj 74 | *.iobj 75 | *.pch 76 | *.pdb 77 | *.ipdb 78 | *.pgc 79 | *.pgd 80 | *.rsp 81 | *.sbr 82 | *.tlb 83 | *.tli 84 | *.tlh 85 | *.tmp 86 | *.tmp_proj 87 | *_wpftmp.csproj 88 | *.log 89 | *.vspscc 90 | *.vssscc 91 | .builds 92 | *.pidb 93 | *.svclog 94 | *.scc 95 | 96 | # Chutzpah Test files 97 | _Chutzpah* 98 | 99 | # Visual C++ cache files 100 | ipch/ 101 | *.aps 102 | *.ncb 103 | *.opendb 104 | *.opensdf 105 | *.sdf 106 | *.cachefile 107 | *.VC.db 108 | *.VC.VC.opendb 109 | 110 | # Visual Studio profiler 111 | *.psess 112 | *.vsp 113 | *.vspx 114 | *.sap 115 | 116 | # Visual Studio Trace Files 117 | *.e2e 118 | 119 | # TFS 2012 Local Workspace 120 | $tf/ 121 | 122 | # Guidance Automation Toolkit 123 | *.gpState 124 | 125 | # ReSharper is a .NET coding add-in 126 | _ReSharper*/ 127 | *.[Rr]e[Ss]harper 128 | *.DotSettings.user 129 | 130 | # TeamCity is a build add-in 131 | _TeamCity* 132 | 133 | # DotCover is a Code Coverage Tool 134 | *.dotCover 135 | 136 | # AxoCover is a Code Coverage Tool 137 | .axoCover/* 138 | !.axoCover/settings.json 139 | 140 | # Visual Studio code coverage results 141 | *.coverage 142 | *.coveragexml 143 | 144 | # NCrunch 145 | _NCrunch_* 146 | .*crunch*.local.xml 147 | nCrunchTemp_* 148 | 149 | # MightyMoose 150 | *.mm.* 151 | AutoTest.Net/ 152 | 153 | # Web workbench (sass) 154 | .sass-cache/ 155 | 156 | # Installshield output folder 157 | [Ee]xpress/ 158 | 159 | # DocProject is a documentation generator add-in 160 | DocProject/buildhelp/ 161 | DocProject/Help/*.HxT 162 | DocProject/Help/*.HxC 163 | DocProject/Help/*.hhc 164 | DocProject/Help/*.hhk 165 | DocProject/Help/*.hhp 166 | DocProject/Help/Html2 167 | DocProject/Help/html 168 | 169 | # Click-Once directory 170 | publish/ 171 | 172 | # Publish Web Output 173 | *.[Pp]ublish.xml 174 | *.azurePubxml 175 | # Note: Comment the next line if you want to checkin your web deploy settings, 176 | # but database connection strings (with potential passwords) will be unencrypted 177 | *.pubxml 178 | *.publishproj 179 | 180 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 181 | # checkin your Azure Web App publish settings, but sensitive information contained 182 | # in these scripts will be unencrypted 183 | PublishScripts/ 184 | 185 | # NuGet Packages 186 | *.nupkg 187 | # NuGet Symbol Packages 188 | *.snupkg 189 | # The packages folder can be ignored because of Package Restore 190 | **/[Pp]ackages/* 191 | # except build/, which is used as an MSBuild target. 192 | !**/[Pp]ackages/build/ 193 | # Uncomment if necessary however generally it will be regenerated when needed 194 | #!**/[Pp]ackages/repositories.config 195 | # NuGet v3's project.json files produces more ignorable files 196 | *.nuget.props 197 | *.nuget.targets 198 | 199 | # Microsoft Azure Build Output 200 | csx/ 201 | *.build.csdef 202 | 203 | # Microsoft Azure Emulator 204 | ecf/ 205 | rcf/ 206 | 207 | # Windows Store app package directories and files 208 | AppPackages/ 209 | BundleArtifacts/ 210 | Package.StoreAssociation.xml 211 | _pkginfo.txt 212 | *.appx 213 | *.appxbundle 214 | *.appxupload 215 | 216 | # Visual Studio cache files 217 | # files ending in .cache can be ignored 218 | *.[Cc]ache 219 | # but keep track of directories ending in .cache 220 | !?*.[Cc]ache/ 221 | 222 | # Others 223 | ClientBin/ 224 | ~$* 225 | *~ 226 | *.dbmdl 227 | *.dbproj.schemaview 228 | *.jfm 229 | *.pfx 230 | *.publishsettings 231 | orleans.codegen.cs 232 | 233 | # Including strong name files can present a security risk 234 | # (https://github.com/github/gitignore/pull/2483#issue-259490424) 235 | #*.snk 236 | 237 | # Since there are multiple workflows, uncomment next line to ignore bower_components 238 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 239 | #bower_components/ 240 | 241 | # RIA/Silverlight projects 242 | Generated_Code/ 243 | 244 | # Backup & report files from converting an old project file 245 | # to a newer Visual Studio version. Backup files are not needed, 246 | # because we have git ;-) 247 | _UpgradeReport_Files/ 248 | Backup*/ 249 | UpgradeLog*.XML 250 | UpgradeLog*.htm 251 | ServiceFabricBackup/ 252 | *.rptproj.bak 253 | 254 | # SQL Server files 255 | *.mdf 256 | *.ldf 257 | *.ndf 258 | 259 | # Business Intelligence projects 260 | *.rdl.data 261 | *.bim.layout 262 | *.bim_*.settings 263 | *.rptproj.rsuser 264 | *- [Bb]ackup.rdl 265 | *- [Bb]ackup ([0-9]).rdl 266 | *- [Bb]ackup ([0-9][0-9]).rdl 267 | 268 | # Microsoft Fakes 269 | FakesAssemblies/ 270 | 271 | # GhostDoc plugin setting file 272 | *.GhostDoc.xml 273 | 274 | # Node.js Tools for Visual Studio 275 | .ntvs_analysis.dat 276 | node_modules/ 277 | 278 | # Visual Studio 6 build log 279 | *.plg 280 | 281 | # Visual Studio 6 workspace options file 282 | *.opt 283 | 284 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 285 | *.vbw 286 | 287 | # Visual Studio LightSwitch build output 288 | **/*.HTMLClient/GeneratedArtifacts 289 | **/*.DesktopClient/GeneratedArtifacts 290 | **/*.DesktopClient/ModelManifest.xml 291 | **/*.Server/GeneratedArtifacts 292 | **/*.Server/ModelManifest.xml 293 | _Pvt_Extensions 294 | 295 | # Paket dependency manager 296 | .paket/paket.exe 297 | paket-files/ 298 | 299 | # FAKE - F# Make 300 | .fake/ 301 | 302 | # CodeRush personal settings 303 | .cr/personal 304 | 305 | # Python Tools for Visual Studio (PTVS) 306 | __pycache__/ 307 | *.pyc 308 | 309 | # Cake - Uncomment if you are using it 310 | # tools/** 311 | # !tools/packages.config 312 | 313 | # Tabs Studio 314 | *.tss 315 | 316 | # Telerik's JustMock configuration file 317 | *.jmconfig 318 | 319 | # BizTalk build output 320 | *.btp.cs 321 | *.btm.cs 322 | *.odx.cs 323 | *.xsd.cs 324 | 325 | # OpenCover UI analysis results 326 | OpenCover/ 327 | 328 | # Azure Stream Analytics local run output 329 | ASALocalRun/ 330 | 331 | # MSBuild Binary and Structured Log 332 | *.binlog 333 | 334 | # NVidia Nsight GPU debugger configuration file 335 | *.nvuser 336 | 337 | # MFractors (Xamarin productivity tool) working folder 338 | .mfractor/ 339 | 340 | # Local History for Visual Studio 341 | .localhistory/ 342 | 343 | # BeatPulse healthcheck temp database 344 | healthchecksdb 345 | 346 | # Backup folder for Package Reference Convert tool in Visual Studio 2017 347 | MigrationBackup/ 348 | 349 | # Ionide (cross platform F# VS Code tools) working folder 350 | .ionide/ 351 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Solid Edge Community 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Solid Edge Community SDK 2 | Solid Edge Community SDK is a community driven SDK for Solid Edge. The goal of the SDK is to provide sample .NET code for Solid Edge. 3 | 4 | * [SolidEdgeSDK.cs](https://github.com/SolidEdgeCommunity/SDK/blob/master/src/SolidEdgeSDK.cs) is the primary include that can be used in any project. 5 | * [SolidEdgeSDK.vb](https://github.com/SolidEdgeCommunity/SDK/blob/master/src/SolidEdgeSDK.vb) is generated using [Telerik Code Converter](https://converter.telerik.com) but is not tested or supported. If you want\need to use Visual Basic, we recommend adding [SolidEdgeSDK.cs](https://github.com/SolidEdgeCommunity/SDK/blob/master/src/SolidEdgeSDK.cs) to a separate project and adding a reference. 6 | 7 | ## Legacy projects 8 | The following legacy repositories and NuGet packages are no longer maintained and have been archived. Where it makes sense and where it is possible, the functionality in these repositories will be merged into this repository. 9 | 10 | | GitHub Repository | NuGet Package | 11 | | ------------- | ------------- | 12 | | [Interop.SolidEdge](https://github.com/SolidEdgeCommunity/Interop.SolidEdge) | [Interop.SolidEdge](https://www.nuget.org/packages/Interop.SolidEdge) | 13 | | [SolidEdge.Community](https://github.com/SolidEdgeCommunity/SolidEdge.Community) | [SolidEdge.Community](https://www.nuget.org/packages/SolidEdge.Community) | 14 | | [SolidEdge.Community.AddIn](https://github.com/SolidEdgeCommunity/SolidEdge.Community.AddIn) | [SolidEdge.Community.AddIn](https://www.nuget.org/packages/SolidEdge.Community.AddIn) | 15 | | [SolidEdge.Community.Reader](https://github.com/SolidEdgeCommunity/SolidEdge.Community.Reader) | [SolidEdge.Community.Reader](https://www.nuget.org/packages/SolidEdge.Community.Reader) | 16 | | [Samples](https://github.com/SolidEdgeCommunity/Samples) | | 17 | | [Templates](https://github.com/SolidEdgeCommunity/Templates) | | 18 | -------------------------------------------------------------------------------- /samples/README.md: -------------------------------------------------------------------------------- 1 | # Samples 2 | We are in the process of converting legacy [Samples](https://github.com/SolidEdgeCommunity/Samples) to the new SDK. These new samples will not require [Interop.SolidEdge](https://github.com/SolidEdgeCommunity/Interop.SolidEdge) NuGet dependencies. 3 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn.WPF/DemoAddIn.WPF.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {3DAAD612-153D-4549-8E4C-5AE5E1FFDF1A} 8 | library 9 | DemoAddIn.WPF 10 | DemoAddIn.WPF 11 | v4.7.2 12 | 512 13 | {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 14 | 4 15 | true 16 | 17 | 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | 26 | 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 4.0 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | MSBuild:Compile 53 | Designer 54 | 55 | 56 | MyWpfEdgeBarPage.xaml 57 | Code 58 | 59 | 60 | 61 | 62 | Code 63 | 64 | 65 | True 66 | True 67 | Resources.resx 68 | 69 | 70 | True 71 | Settings.settings 72 | True 73 | 74 | 75 | ResXFileCodeGenerator 76 | Resources.Designer.cs 77 | 78 | 79 | SettingsSingleFileGenerator 80 | Settings.Designer.cs 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn.WPF/MyWpfEdgeBarPage.xaml: -------------------------------------------------------------------------------- 1 |  10 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 20 | 21 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn.WPF/MyWpfEdgeBarPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace DemoAddIn.WPF 17 | { 18 | /// 19 | /// Interaction logic for MyWpfEdgeBarPage.xaml 20 | /// 21 | public partial class MyWpfEdgeBarPage : Page 22 | { 23 | public MyWpfEdgeBarPage() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn.WPF/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Resources; 3 | using System.Runtime.CompilerServices; 4 | using System.Runtime.InteropServices; 5 | using System.Windows; 6 | 7 | // General Information about an assembly is controlled through the following 8 | // set of attributes. Change these attribute values to modify the information 9 | // associated with an assembly. 10 | [assembly: AssemblyTitle("DemoAddIn.WPF")] 11 | [assembly: AssemblyDescription("")] 12 | [assembly: AssemblyConfiguration("")] 13 | [assembly: AssemblyCompany("")] 14 | [assembly: AssemblyProduct("DemoAddIn.WPF")] 15 | [assembly: AssemblyCopyright("Copyright © 2020")] 16 | [assembly: AssemblyTrademark("")] 17 | [assembly: AssemblyCulture("")] 18 | 19 | // Setting ComVisible to false makes the types in this assembly not visible 20 | // to COM components. If you need to access a type in this assembly from 21 | // COM, set the ComVisible attribute to true on that type. 22 | [assembly: ComVisible(false)] 23 | 24 | //In order to begin building localizable applications, set 25 | //CultureYouAreCodingWith in your .csproj file 26 | //inside a . For example, if you are using US english 27 | //in your source files, set the to en-US. Then uncomment 28 | //the NeutralResourceLanguage attribute below. Update the "en-US" in 29 | //the line below to match the UICulture setting in the project file. 30 | 31 | //[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] 32 | 33 | 34 | [assembly:ThemeInfo( 35 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located 36 | //(used if a resource is not found in the page, 37 | // or application resource dictionaries) 38 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located 39 | //(used if a resource is not found in the page, 40 | // app, or any theme specific resource dictionaries) 41 | )] 42 | 43 | 44 | // Version information for an assembly consists of the following four values: 45 | // 46 | // Major Version 47 | // Minor Version 48 | // Build Number 49 | // Revision 50 | // 51 | // You can specify all the values or you can default the Build and Revision Numbers 52 | // by using the '*' as shown below: 53 | // [assembly: AssemblyVersion("1.0.*")] 54 | [assembly: AssemblyVersion("1.0.0.0")] 55 | [assembly: AssemblyFileVersion("1.0.0.0")] 56 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn.WPF/Properties/Resources.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 DemoAddIn.WPF.Properties { 12 | 13 | 14 | /// 15 | /// A strongly-typed resource class, for looking up localized strings, etc. 16 | /// 17 | // This class was auto-generated by the StronglyTypedResourceBuilder 18 | // class via a tool like ResGen or Visual Studio. 19 | // To add or remove a member, edit your .ResX file then rerun ResGen 20 | // with the /str option, or rebuild your VS project. 21 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 22 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 23 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 24 | internal class Resources { 25 | 26 | private static global::System.Resources.ResourceManager resourceMan; 27 | 28 | private static global::System.Globalization.CultureInfo resourceCulture; 29 | 30 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 31 | internal Resources() { 32 | } 33 | 34 | /// 35 | /// Returns the cached ResourceManager instance used by this class. 36 | /// 37 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 38 | internal static global::System.Resources.ResourceManager ResourceManager { 39 | get { 40 | if ((resourceMan == null)) { 41 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("DemoAddIn.WPF.Properties.Resources", typeof(Resources).Assembly); 42 | resourceMan = temp; 43 | } 44 | return resourceMan; 45 | } 46 | } 47 | 48 | /// 49 | /// Overrides the current thread's CurrentUICulture property for all 50 | /// resource lookups using this strongly typed resource class. 51 | /// 52 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 53 | internal static global::System.Globalization.CultureInfo Culture { 54 | get { 55 | return resourceCulture; 56 | } 57 | set { 58 | resourceCulture = value; 59 | } 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn.WPF/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn.WPF/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 DemoAddIn.WPF.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn.WPF/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.30320.27 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DemoAddIn", "DemoAddIn\DemoAddIn.csproj", "{8692B005-B856-4452-9592-470E3EC75AAD}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DemoAddIn.WPF", "DemoAddIn.WPF\DemoAddIn.WPF.csproj", "{3DAAD612-153D-4549-8E4C-5AE5E1FFDF1A}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Release|Any CPU = Release|Any CPU 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {8692B005-B856-4452-9592-470E3EC75AAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {8692B005-B856-4452-9592-470E3EC75AAD}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {8692B005-B856-4452-9592-470E3EC75AAD}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {8692B005-B856-4452-9592-470E3EC75AAD}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {3DAAD612-153D-4549-8E4C-5AE5E1FFDF1A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {3DAAD612-153D-4549-8E4C-5AE5E1FFDF1A}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {3DAAD612-153D-4549-8E4C-5AE5E1FFDF1A}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {3DAAD612-153D-4549-8E4C-5AE5E1FFDF1A}.Release|Any CPU.Build.0 = Release|Any CPU 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {A84FB33C-E72A-42BC-B2A6-BD86CDB9E040} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/AboutDialog.Designer.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace DemoAddIn 3 | { 4 | partial class AboutDialog 5 | { 6 | /// 7 | /// Required designer variable. 8 | /// 9 | private System.ComponentModel.IContainer components = null; 10 | 11 | /// 12 | /// Clean up any resources being used. 13 | /// 14 | /// true if managed resources should be disposed; otherwise, false. 15 | protected override void Dispose(bool disposing) 16 | { 17 | if (disposing && (components != null)) 18 | { 19 | components.Dispose(); 20 | } 21 | base.Dispose(disposing); 22 | } 23 | 24 | #region Windows Form Designer generated code 25 | 26 | /// 27 | /// Required method for Designer support - do not modify 28 | /// the contents of this method with the code editor. 29 | /// 30 | private void InitializeComponent() 31 | { 32 | this.buttonClose = new System.Windows.Forms.Button(); 33 | this.SuspendLayout(); 34 | // 35 | // buttonClose 36 | // 37 | this.buttonClose.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); 38 | this.buttonClose.DialogResult = System.Windows.Forms.DialogResult.Cancel; 39 | this.buttonClose.ImeMode = System.Windows.Forms.ImeMode.NoControl; 40 | this.buttonClose.Location = new System.Drawing.Point(384, 248); 41 | this.buttonClose.Name = "buttonClose"; 42 | this.buttonClose.Size = new System.Drawing.Size(75, 23); 43 | this.buttonClose.TabIndex = 6; 44 | this.buttonClose.Text = "&Close"; 45 | this.buttonClose.UseVisualStyleBackColor = true; 46 | this.buttonClose.Click += new System.EventHandler(this.buttonClose_Click); 47 | // 48 | // AboutDialog 49 | // 50 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 51 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 52 | this.ClientSize = new System.Drawing.Size(471, 283); 53 | this.Controls.Add(this.buttonClose); 54 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; 55 | this.MaximizeBox = false; 56 | this.MinimizeBox = false; 57 | this.Name = "AboutDialog"; 58 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; 59 | this.Text = "About"; 60 | this.ResumeLayout(false); 61 | 62 | } 63 | 64 | #endregion 65 | 66 | private System.Windows.Forms.Button buttonClose; 67 | } 68 | } -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/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.Threading.Tasks; 9 | using System.Windows.Forms; 10 | 11 | namespace DemoAddIn 12 | { 13 | public partial class AboutDialog : Form 14 | { 15 | public AboutDialog() 16 | { 17 | InitializeComponent(); 18 | } 19 | 20 | private void buttonClose_Click(object sender, EventArgs e) 21 | { 22 | Close(); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/AboutDialog.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/CompileNativeRes.bat: -------------------------------------------------------------------------------- 1 | :: Resource Compiler (rc.exe) is included in the Windows 10 SDK 2 | :: and can be installed using the Visual Studio Installer. 3 | :: https://docs.microsoft.com/en-us/windows/win32/menurc/resource-compiler 4 | 5 | :: Solid Edge AddIns require native resources for BITMAP, PNG, etc. 6 | :: If you examine the .csproj, you will see Native.res. 7 | :: This instructs MSBUILD to embed Native.res into the $(TargetPath). 8 | 9 | :: Update Native.rc and MyConstants.cs as needed. 10 | :: This batch file must be executed manually but could be added 11 | :: to pre-build events. 12 | @echo off 13 | 14 | set RC_PATH="Native.rc" 15 | set RES_PATH="Native.res" 16 | 17 | :: RC_PATH -> RES_PATH 18 | rc.exe /fo%RES_PATH% %RC_PATH% -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/DemoAddIn.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {8692B005-B856-4452-9592-470E3EC75AAD} 8 | Library 9 | Properties 10 | DemoAddIn 11 | DemoAddIn 12 | v4.7.2 13 | 512 14 | true 15 | 16 | 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | TRACE;DEBUG 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | bin\Release\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | Native.res 35 | 36 | 37 | 38 | 39 | 40 | ..\packages\SharpGL.3.1.1\lib\net472\SharpGL.dll 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | SolidEdgeSDK.cs 57 | 58 | 59 | Form 60 | 61 | 62 | AboutDialog.cs 63 | 64 | 65 | 66 | 67 | 68 | Form 69 | 70 | 71 | MyCustomDialog.cs 72 | 73 | 74 | UserControl 75 | 76 | 77 | MyDocumentEdgeBarControl.cs 78 | 79 | 80 | 81 | UserControl 82 | 83 | 84 | MyGlobalEdgeBarControl.cs 85 | 86 | 87 | 88 | UserControl 89 | 90 | 91 | NativeMessageEdgeBarControl.cs 92 | 93 | 94 | 95 | Resources.zh-CN.resx 96 | True 97 | True 98 | 99 | 100 | True 101 | True 102 | Resources.resx 103 | 104 | 105 | 106 | 107 | AboutDialog.cs 108 | 109 | 110 | MyCustomDialog.cs 111 | 112 | 113 | MyDocumentEdgeBarControl.cs 114 | 115 | 116 | MyGlobalEdgeBarControl.cs 117 | 118 | 119 | NativeMessageEdgeBarControl.cs 120 | 121 | 122 | ResXFileCodeGenerator 123 | Resources.zh-CN.Designer.cs 124 | Designer 125 | 126 | 127 | ResXFileCodeGenerator 128 | Resources.Designer.cs 129 | Designer 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | {3E2B3BD4-F0B9-11D1-BDFD-080036B4D502} 140 | 1 141 | 0 142 | 0 143 | tlbimp 144 | False 145 | True 146 | 147 | 148 | {C467A6F5-27ED-11D2-BE30-080036B4D502} 149 | 1 150 | 0 151 | 0 152 | tlbimp 153 | False 154 | True 155 | 156 | 157 | {3E2B3BDC-F0B9-11D1-BDFD-080036B4D502} 158 | 1 159 | 0 160 | 0 161 | tlbimp 162 | False 163 | True 164 | 165 | 166 | {8A7EFA3A-F000-11D1-BDFC-080036B4D502} 167 | 1 168 | 0 169 | 0 170 | tlbimp 171 | False 172 | True 173 | 174 | 175 | {943AC5C6-F4DB-11D1-BE00-080036B4D502} 176 | 1 177 | 0 178 | 0 179 | tlbimp 180 | False 181 | True 182 | 183 | 184 | {3E2B3BE1-F0B9-11D1-BDFD-080036B4D502} 185 | 1 186 | 0 187 | 0 188 | tlbimp 189 | False 190 | True 191 | 192 | 193 | {8A7EFA42-F000-11D1-BDFC-080036B4D502} 194 | 1 195 | 0 196 | 0 197 | tlbimp 198 | False 199 | True 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | {3daad612-153d-4549-8e4c-5ae5e1ffdf1a} 208 | DemoAddIn.WPF 209 | 210 | 211 | 212 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/Instructions.txt: -------------------------------------------------------------------------------- 1 | [COM references] 2 | - All COM references in this project have "Embed Interop Types" set to True. 3 | - This prevents Interop.*.dll assemblies from being generated and is typically desired. 4 | - You are welcome to "Embed Interop Types" set to False. It does not change the code execution. 5 | 6 | [MyConstants.cs] 7 | - Generate new unique GUID for MyConstants.AddInGuid. 8 | - Update MyConstants.AddInProgId accordingly. 9 | - NativeResources.BMP & NativeResources.PNG should match Native.rc. 10 | 11 | [Native.rc] 12 | - Native images used by EdgeBar & Ribbon. 13 | - Must be maintained manually. 14 | - Execute CompileNativeRes.bat to compile Native.rc to Native.res. 15 | 16 | [Native.res] 17 | - Native images used by EdgeBar & Ribbon. 18 | - Compiled version of Native.rc. 19 | - Native.res in DemoAddIn.csproj. 20 | 21 | [Properties\Resources.resx] 22 | [Properties\Resources.zh-CN.resx] 23 | - Example of how to use .NET resources for strings. 24 | - .NET resources can be localized. 25 | 26 | [Registration.bat] 27 | - Sample batch file to register the addin on a developer system. 28 | - Must be executed with administrator privilege. 29 | - Use "Developer Command Prompt for VS 20XX " shortcut so that regasm.exe resolves correctly. 30 | - If you change the assemlby name, modify the ASSEMBLY_NAME variable to match. 31 | 32 | [MyAddIn.cs] 33 | - Core addin code. Solid Edge will create an instance of this class when it loads the addin. 34 | - OnConnection(), OnConnectToEnvironment() & OnDisconnection() are primary entry\exit points. 35 | - Desired event sets can be easily attached by implementing event interface and using ComEventsManager.Attach(). 36 | - CATID.SolidEdgeAddIn is currently specified to make the demo easy to setup. 37 | - When you make changes to your ribbon, you MUST increment AddInInstance.GuiVersion during OnConnection() for the changes to work correctly. 38 | 39 | [My3dRibbon.cs & My2dRibbon.cs] 40 | - Example of how to define a ribbon with commands. 41 | - When you make changes to your ribbon, you MUST increment AddInInstance.GuiVersion during OnConnection() for the changes to work correctly. 42 | 43 | [SolidEdgeSDK.cs] 44 | - Community provided and maintained Solid Edge SDK for C#. 45 | - Hosted at https://github.com/SolidEdgeCommunity/SDK. 46 | - You are welcome to modify this file as needed. 47 | - Any changes you make will be lost if you manually update from the GitHub repository. -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/MyCommands.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DemoAddIn 8 | { 9 | /// 10 | /// Command Ids 11 | /// 12 | /// 13 | /// When you make changes to your commands, you must increment AddInInstance.GuiVersion in MyAddIn.cs. 14 | /// 15 | public enum MyCommandIds : int 16 | { 17 | Save, 18 | Folder, 19 | Monitor, 20 | Box, 21 | Camera, 22 | Photograph, 23 | Favorites, 24 | Printer, 25 | Tools, 26 | CommandPrompt, 27 | Notepad, 28 | Help, 29 | Search, 30 | Question, 31 | CheckBox1, 32 | CheckBox2, 33 | CheckBox3, 34 | RadioButton1, 35 | RadioButton2, 36 | RadioButton3, 37 | BoundingBox, 38 | OpenGlBoxes, 39 | GdiPlus, 40 | About 41 | } 42 | 43 | public class MyCommand 44 | { 45 | public MyCommand() 46 | { 47 | } 48 | 49 | public MyCommand(MyCommandIds commandId, string category, string group, string command, int imageId, SolidEdgeFramework.SeButtonStyle buttonStyle) 50 | { 51 | CommandId = commandId; 52 | Category = category; 53 | Group = group; 54 | CommandString = command; 55 | ImageId = imageId; 56 | ButtonStyle = buttonStyle; 57 | } 58 | 59 | public MyCommandIds CommandId { get; set; } 60 | public int SolidEdgeCommandId { get; set; } 61 | public string Category { get; set; } 62 | public string Group { get; set; } 63 | public string CommandString { get; set; } 64 | public int ImageId { get; set; } 65 | public SolidEdgeFramework.SeButtonStyle ButtonStyle { get; set; } = SolidEdgeFramework.SeButtonStyle.seButtonAutomatic; 66 | public string RuntimeCategoryName { get; set; } 67 | public string RuntimeCommandName { get; set; } 68 | public bool Enabled { get; set; } = true; 69 | public bool Checked { get; set; } 70 | 71 | public override string ToString() 72 | { 73 | if (String.IsNullOrWhiteSpace(RuntimeCommandName) == false) 74 | { 75 | return RuntimeCommandName; 76 | } 77 | else if (String.IsNullOrWhiteSpace(CommandString) == false) 78 | { 79 | return CommandString; 80 | } 81 | 82 | return base.ToString(); 83 | } 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/MyConstants.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace DemoAddIn 7 | { 8 | static class MyConstants 9 | { 10 | /// 11 | /// Unique GUID for the addin. 12 | /// 13 | /// 14 | /// You must generate a new unique GUID for your addin. 15 | /// 16 | /// 17 | /// A6D088BE-0640-480B-93D2-FC9A7F49ADF5 18 | /// 19 | public const string AddInGuid = "03504538-C2A2-44BC-994C-42876F57363F"; 20 | 21 | /// 22 | /// Unique PROGID for the addin. 23 | /// 24 | /// 25 | /// You must specify a unique PROGID for your addin. 26 | /// 27 | public const string AddInProgId = "SolidEdgeCommunity.DemoAddIn"; 28 | } 29 | 30 | /// 31 | /// Native.rc constants. 32 | /// 33 | /// 34 | /// This class and Native.rc must be manually maintained. 35 | /// 36 | static class NativeResources 37 | { 38 | /// 39 | /// Native BMP resources. 40 | /// 41 | public static class BMP 42 | { 43 | //public const int Example = 5000; 44 | } 45 | 46 | /// 47 | /// Native PNG resources. 48 | /// 49 | public static class PNG 50 | { 51 | public const int BoundingBox_32 = 6000; 52 | public const int Boxes_32 = 6001; 53 | public const int Box_32x32 = 6002; 54 | public const int Camera_32x32 = 6003; 55 | public const int CommandPrompt_32x32 = 6004; 56 | public const int EdgeBar_20x20 = 6005; 57 | public const int Favorites_32x32 = 6006; 58 | public const int Folder_16x16 = 6007; 59 | public const int GdiPlus_32 = 6008; 60 | public const int Help_32x32 = 6009; 61 | public const int Monitor_16x16 = 6010; 62 | public const int Notepad_32x32 = 6011; 63 | public const int Photograph_32x32 = 6012; 64 | public const int Printer_32x32 = 6013; 65 | public const int Question_32x32 = 6014; 66 | public const int Save_16x16 = 6015; 67 | public const int Search_32x32 = 6016; 68 | public const int Tools_32x32 = 6017; 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/MyCustomDialog.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace DemoAddIn 2 | { 3 | partial class MyCustomDialog 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.buttonCancel = new System.Windows.Forms.Button(); 32 | this.buttonOK = new System.Windows.Forms.Button(); 33 | this.SuspendLayout(); 34 | // 35 | // buttonCancel 36 | // 37 | this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; 38 | this.buttonCancel.Location = new System.Drawing.Point(297, 196); 39 | this.buttonCancel.Name = "buttonCancel"; 40 | this.buttonCancel.Size = new System.Drawing.Size(75, 23); 41 | this.buttonCancel.TabIndex = 3; 42 | this.buttonCancel.Text = "Cancel"; 43 | this.buttonCancel.UseVisualStyleBackColor = true; 44 | this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click); 45 | // 46 | // buttonOK 47 | // 48 | this.buttonOK.Location = new System.Drawing.Point(216, 196); 49 | this.buttonOK.Name = "buttonOK"; 50 | this.buttonOK.Size = new System.Drawing.Size(75, 23); 51 | this.buttonOK.TabIndex = 2; 52 | this.buttonOK.Text = "OK"; 53 | this.buttonOK.UseVisualStyleBackColor = true; 54 | this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); 55 | // 56 | // MyCustomDialog 57 | // 58 | this.AcceptButton = this.buttonOK; 59 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 60 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 61 | this.CancelButton = this.buttonCancel; 62 | this.ClientSize = new System.Drawing.Size(384, 231); 63 | this.Controls.Add(this.buttonCancel); 64 | this.Controls.Add(this.buttonOK); 65 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; 66 | this.MaximizeBox = false; 67 | this.MinimizeBox = false; 68 | this.Name = "MyCustomDialog"; 69 | this.ShowInTaskbar = false; 70 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; 71 | this.Text = "My Custom Dialog"; 72 | this.ResumeLayout(false); 73 | 74 | } 75 | 76 | #endregion 77 | 78 | private System.Windows.Forms.Button buttonCancel; 79 | private System.Windows.Forms.Button buttonOK; 80 | } 81 | 82 | } -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/MyCustomDialog.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.Threading.Tasks; 9 | using System.Windows.Forms; 10 | 11 | namespace DemoAddIn 12 | { 13 | public partial class MyCustomDialog : Form 14 | { 15 | public MyCustomDialog() 16 | { 17 | InitializeComponent(); 18 | } 19 | 20 | private void buttonOK_Click(object sender, EventArgs e) 21 | { 22 | this.DialogResult = System.Windows.Forms.DialogResult.OK; 23 | Close(); 24 | } 25 | 26 | private void buttonCancel_Click(object sender, EventArgs e) 27 | { 28 | this.DialogResult = System.Windows.Forms.DialogResult.Cancel; 29 | Close(); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/MyCustomDialog.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/MyDocumentEdgeBarControl.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace DemoAddIn 2 | { 3 | partial class MyDocumentEdgeBarControl 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 | this.propertyGrid = new System.Windows.Forms.PropertyGrid(); 32 | this.listView = new System.Windows.Forms.ListView(); 33 | this.splitContainer = new System.Windows.Forms.SplitContainer(); 34 | this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); 35 | this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); 36 | ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).BeginInit(); 37 | this.splitContainer.Panel1.SuspendLayout(); 38 | this.splitContainer.Panel2.SuspendLayout(); 39 | this.splitContainer.SuspendLayout(); 40 | this.SuspendLayout(); 41 | // 42 | // propertyGrid 43 | // 44 | this.propertyGrid.Dock = System.Windows.Forms.DockStyle.Fill; 45 | this.propertyGrid.Location = new System.Drawing.Point(0, 0); 46 | this.propertyGrid.Name = "propertyGrid"; 47 | this.propertyGrid.Size = new System.Drawing.Size(601, 476); 48 | this.propertyGrid.TabIndex = 0; 49 | // 50 | // listView 51 | // 52 | this.listView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { 53 | this.columnHeader1, 54 | this.columnHeader2}); 55 | this.listView.Dock = System.Windows.Forms.DockStyle.Fill; 56 | this.listView.FullRowSelect = true; 57 | this.listView.Location = new System.Drawing.Point(0, 0); 58 | this.listView.MultiSelect = false; 59 | this.listView.Name = "listView"; 60 | this.listView.Size = new System.Drawing.Size(601, 234); 61 | this.listView.TabIndex = 1; 62 | this.listView.UseCompatibleStateImageBehavior = false; 63 | this.listView.View = System.Windows.Forms.View.Details; 64 | this.listView.SelectedIndexChanged += new System.EventHandler(this.listView_SelectedIndexChanged); 65 | // 66 | // splitContainer 67 | // 68 | this.splitContainer.Dock = System.Windows.Forms.DockStyle.Fill; 69 | this.splitContainer.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; 70 | this.splitContainer.Location = new System.Drawing.Point(0, 0); 71 | this.splitContainer.Name = "splitContainer"; 72 | this.splitContainer.Orientation = System.Windows.Forms.Orientation.Horizontal; 73 | // 74 | // splitContainer.Panel1 75 | // 76 | this.splitContainer.Panel1.Controls.Add(this.listView); 77 | // 78 | // splitContainer.Panel2 79 | // 80 | this.splitContainer.Panel2.Controls.Add(this.propertyGrid); 81 | this.splitContainer.Size = new System.Drawing.Size(601, 714); 82 | this.splitContainer.SplitterDistance = 234; 83 | this.splitContainer.TabIndex = 2; 84 | // 85 | // columnHeader1 86 | // 87 | this.columnHeader1.Text = "Index"; 88 | this.columnHeader1.Width = 116; 89 | // 90 | // columnHeader2 91 | // 92 | this.columnHeader2.Text = "Type"; 93 | this.columnHeader2.Width = 167; 94 | // 95 | // MyDocumentEdgeBarControl 96 | // 97 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 98 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 99 | this.Controls.Add(this.splitContainer); 100 | this.Name = "MyDocumentEdgeBarControl"; 101 | this.Size = new System.Drawing.Size(601, 714); 102 | this.Load += new System.EventHandler(this.MyEdgeBarControl_Load); 103 | this.splitContainer.Panel1.ResumeLayout(false); 104 | this.splitContainer.Panel2.ResumeLayout(false); 105 | ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).EndInit(); 106 | this.splitContainer.ResumeLayout(false); 107 | this.ResumeLayout(false); 108 | 109 | } 110 | 111 | #endregion 112 | 113 | private System.Windows.Forms.PropertyGrid propertyGrid; 114 | private System.Windows.Forms.ListView listView; 115 | private System.Windows.Forms.SplitContainer splitContainer; 116 | private System.Windows.Forms.ColumnHeader columnHeader1; 117 | private System.Windows.Forms.ColumnHeader columnHeader2; 118 | } 119 | } 120 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/MyDocumentEdgeBarControl.cs: -------------------------------------------------------------------------------- 1 | using SolidEdgeFramework; 2 | using SolidEdgeSDK; 3 | using SolidEdgeSDK.Extensions; 4 | using SolidEdgeSDK.InteropServices; 5 | using System; 6 | using System.Collections.Generic; 7 | using System.ComponentModel; 8 | using System.Drawing; 9 | using System.Data; 10 | using System.Linq; 11 | using System.Text; 12 | using System.Threading.Tasks; 13 | using System.Windows.Forms; 14 | using System.Reflection; 15 | using SolidEdgeSDK.AddIn; 16 | 17 | namespace DemoAddIn 18 | { 19 | public partial class MyDocumentEdgeBarControl : UserControl, 20 | SolidEdgeFramework.ISEDocumentEvents 21 | { 22 | private SolidEdgeFramework.SolidEdgeDocument _document; 23 | 24 | public MyDocumentEdgeBarControl() 25 | { 26 | InitializeComponent(); 27 | } 28 | 29 | private void MyEdgeBarControl_Load(object sender, EventArgs e) 30 | { 31 | // Trick to use the default system font. 32 | Font = SystemFonts.MessageBoxFont; 33 | 34 | ComEventsManager = new ComEventsManager(this); 35 | } 36 | 37 | private void listView_SelectedIndexChanged(object sender, EventArgs e) 38 | { 39 | propertyGrid.SelectedObject = null; 40 | 41 | if (listView.SelectedItems.Count > 0) 42 | { 43 | var item = listView.SelectedItems[0]; 44 | propertyGrid.SelectedObject = item.Tag; 45 | } 46 | } 47 | 48 | private void UpdateListView(object[] items) 49 | { 50 | listView.Items.Clear(); 51 | propertyGrid.SelectedObject = null; 52 | 53 | var listViewItems = new List(); 54 | 55 | for (int i = 0; i < items.Length; i++) 56 | { 57 | listViewItems.Add(new ListViewItem(new string[] { $"{i + 1}", ComObject.GetComTypeFullName(items[i]) }) 58 | { 59 | Tag = items[i] 60 | }); 61 | } 62 | 63 | listView.Items.AddRange(listViewItems.ToArray()); 64 | 65 | foreach (ColumnHeader header in listView.Columns) 66 | { 67 | header.Width = -2; 68 | } 69 | 70 | if (listView.Items.Count > 0) 71 | { 72 | listView.Items[0].Selected = true; 73 | } 74 | } 75 | 76 | #region ISEDocumentEvents 77 | 78 | void ISEDocumentEvents.BeforeClose() 79 | { 80 | ComEventsManager.DetachAll(); 81 | } 82 | 83 | void ISEDocumentEvents.BeforeSave() 84 | { 85 | } 86 | 87 | void ISEDocumentEvents.AfterSave() 88 | { 89 | } 90 | 91 | void ISEDocumentEvents.SelectSetChanged(object SelectSet) 92 | { 93 | var items = new object[] { }; 94 | 95 | if (SelectSet is SolidEdgeFramework.SelectSet selectSet) 96 | { 97 | items = selectSet.OfType().ToArray(); 98 | } 99 | 100 | if (items.Length == 0) 101 | { 102 | items = new object[] { Document }; 103 | } 104 | 105 | UpdateListView(items); 106 | } 107 | 108 | #endregion 109 | 110 | public SolidEdgeFramework.Application Application { get; set; } 111 | 112 | public SolidEdgeFramework.SolidEdgeDocument Document 113 | { 114 | get { return _document; } 115 | set 116 | { 117 | _document = value; 118 | 119 | if (_document == null) 120 | { 121 | propertyGrid.SelectedObject = null; 122 | ComEventsManager.DetachAll(); 123 | } 124 | else 125 | { 126 | propertyGrid.SelectedObject = _document; 127 | ComEventsManager.Attach(_document.DocumentEvents); 128 | 129 | UpdateListView(new object[] { _document }); 130 | } 131 | } 132 | } 133 | 134 | public EdgeBarPage EdgeBarPage { get; set; } 135 | private ComEventsManager ComEventsManager { get; set; } 136 | } 137 | } 138 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/MyDocumentEdgeBarControl.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/MyEdgeBarPage.cs: -------------------------------------------------------------------------------- 1 | using SolidEdgeSDK.AddIn; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using System.Windows.Forms; 8 | 9 | namespace DemoAddIn 10 | { 11 | public class MyEdgeBarPage : EdgeBarPage 12 | { 13 | public MyEdgeBarPage() 14 | { 15 | } 16 | 17 | protected override void WndProc(ref Message m) 18 | { 19 | const int WM_SETFOCUS = 0x0007; 20 | const int WM_KILLFOCUS = 0x0008; 21 | const int WM_ENABLE = 0x000A; 22 | 23 | switch (m.Msg) 24 | { 25 | case WM_SETFOCUS: 26 | break; 27 | case WM_KILLFOCUS: 28 | break; 29 | case WM_ENABLE: 30 | break; 31 | } 32 | 33 | if (this.ChildObject is NativeMessageEdgeBarControl control) 34 | { 35 | control.LogMessage(m); 36 | } 37 | 38 | base.WndProc(ref m); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/MyGlobalEdgeBarControl.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace DemoAddIn 2 | { 3 | partial class MyGlobalEdgeBarControl 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 | this.label1 = new System.Windows.Forms.Label(); 32 | this.SuspendLayout(); 33 | // 34 | // label1 35 | // 36 | this.label1.BackColor = System.Drawing.Color.RoyalBlue; 37 | this.label1.Dock = System.Windows.Forms.DockStyle.Fill; 38 | this.label1.Font = new System.Drawing.Font("Tahoma", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 39 | this.label1.ForeColor = System.Drawing.Color.White; 40 | this.label1.Location = new System.Drawing.Point(0, 0); 41 | this.label1.Name = "label1"; 42 | this.label1.Size = new System.Drawing.Size(435, 461); 43 | this.label1.TabIndex = 0; 44 | this.label1.Text = "Welcome to the Solid Edge Community SDK DemoAddIn"; 45 | this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 46 | // 47 | // MyGlobalEdgeBarControl 48 | // 49 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 50 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 51 | this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(96)))), ((int)(((byte)(0))))); 52 | this.Controls.Add(this.label1); 53 | this.Name = "MyGlobalEdgeBarControl"; 54 | this.Size = new System.Drawing.Size(435, 461); 55 | this.Load += new System.EventHandler(this.MyGlobalEdgeBarControl_Load); 56 | this.ResumeLayout(false); 57 | 58 | } 59 | 60 | #endregion 61 | 62 | private System.Windows.Forms.Label label1; 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/MyGlobalEdgeBarControl.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.Threading.Tasks; 9 | using System.Windows.Forms; 10 | 11 | namespace DemoAddIn 12 | { 13 | public partial class MyGlobalEdgeBarControl : UserControl 14 | { 15 | public MyGlobalEdgeBarControl() 16 | { 17 | InitializeComponent(); 18 | } 19 | 20 | private void MyGlobalEdgeBarControl_Load(object sender, EventArgs e) 21 | { 22 | } 23 | 24 | public SolidEdgeFramework.Application Application { get; set; } 25 | } 26 | } -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/MyGlobalEdgeBarControl.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/MyViewOverlay3D.cs: -------------------------------------------------------------------------------- 1 | using SolidEdgeFramework; 2 | using SolidEdgeSDK.AddIn; 3 | using SolidEdgeSDK.Extensions; 4 | using SolidEdgeSDK.InteropServices; 5 | using System; 6 | using System.Collections.Generic; 7 | using System.Drawing; 8 | using System.Linq; 9 | using System.Text; 10 | using System.Threading.Tasks; 11 | using System.Windows.Forms; 12 | 13 | namespace DemoAddIn 14 | { 15 | public class MyViewOverlay3D : 16 | SolidEdgeFramework.ISEViewEvents, 17 | SolidEdgeFramework.ISEIGLDisplayEvents, 18 | SolidEdgeFramework.ISEhDCDisplayEvents, 19 | IDisposable 20 | { 21 | private bool _showOpenGlBoxesDemo = false; 22 | private bool _showGdiPlusDemo = false; 23 | private SolidEdgeFramework.Window _window; 24 | 25 | public MyViewOverlay3D(SolidEdgeAddIn solidEdgeAddIn) 26 | { 27 | SolidEdgeAddIn = solidEdgeAddIn; 28 | ComEventsManager = new ComEventsManager(this); 29 | 30 | // Set the defaults. 31 | BoundingBoxInfo.LineColor = Color.Yellow; 32 | BoundingBoxInfo.LineWidth = 2f; 33 | } 34 | 35 | ~MyViewOverlay3D() 36 | { 37 | Dispose(false); 38 | } 39 | 40 | #region SolidEdgeFramework.ISEViewEvents 41 | 42 | void SolidEdgeFramework.ISEViewEvents.Changed() 43 | { 44 | } 45 | 46 | void SolidEdgeFramework.ISEViewEvents.Destroyed() 47 | { 48 | } 49 | 50 | void SolidEdgeFramework.ISEViewEvents.StyleChanged() 51 | { 52 | } 53 | 54 | #endregion 55 | 56 | #region SolidEdgeFramework.ISEIGLDisplayEvents 57 | 58 | void SolidEdgeFramework.ISEIGLDisplayEvents.BeginDisplay() 59 | { 60 | } 61 | 62 | void SolidEdgeFramework.ISEIGLDisplayEvents.EndDisplay() 63 | { 64 | } 65 | 66 | void SolidEdgeFramework.ISEIGLDisplayEvents.BeginIGLMainDisplay(object pUnknownIGL) 67 | { 68 | if (pUnknownIGL is SolidEdgeSDK.InteropServices.IGL igl) 69 | { 70 | DrawOpenGlBoundingBox(igl); 71 | DrawOpenGlBoxes(igl); 72 | } 73 | } 74 | 75 | void SolidEdgeFramework.ISEIGLDisplayEvents.EndIGLMainDisplay(object pUnknownIGL) 76 | { 77 | } 78 | 79 | #endregion 80 | 81 | #region SolidEdgeFramework.ISEhDCDisplayEvents 82 | 83 | void SolidEdgeFramework.ISEhDCDisplayEvents.BeginDisplay() 84 | { 85 | } 86 | 87 | void SolidEdgeFramework.ISEhDCDisplayEvents.EndDisplay() 88 | { 89 | } 90 | 91 | void SolidEdgeFramework.ISEhDCDisplayEvents.BeginhDCMainDisplay(int hDC, ref double ModelToDC, ref int Rect) 92 | { 93 | } 94 | 95 | void SolidEdgeFramework.ISEhDCDisplayEvents.EndhDCMainDisplay(int hDC, ref double ModelToDC, ref int Rect) 96 | { 97 | DrawGdiPlusDemo(new IntPtr(hDC)); 98 | } 99 | 100 | #endregion 101 | 102 | public void DrawOpenGlBoundingBox(SolidEdgeSDK.InteropServices.IGL gl) 103 | { 104 | if (ShowBoundingBox == false) return; 105 | 106 | if (gl == null) return; 107 | 108 | Vector3d min = new Vector3d(); 109 | Vector3d max = new Vector3d(); 110 | 111 | this.View.GetModelRange(out min.X, out min.Y, out min.Z, out max.X, out max.Y, out max.Z); 112 | 113 | gl.glColor3i(BoundingBoxInfo.LineColor.R, BoundingBoxInfo.LineColor.G, BoundingBoxInfo.LineColor.B); 114 | gl.glLineWidth(BoundingBoxInfo.LineWidth); 115 | gl.glHint(SharpGL.OpenGL.GL_LINE_SMOOTH_HINT, SharpGL.OpenGL.GL_NICEST); 116 | 117 | { 118 | gl.glBegin(SharpGL.OpenGL.GL_LINE_LOOP); 119 | 120 | gl.glVertex3d(min.X, min.Y, max.Z); 121 | gl.glVertex3d(max.X, min.Y, max.Z); 122 | gl.glVertex3d(max.X, max.Y, max.Z); 123 | gl.glVertex3d(min.X, max.Y, max.Z); 124 | 125 | gl.glEnd(); 126 | } 127 | 128 | { 129 | gl.glBegin(SharpGL.OpenGL.GL_LINE_LOOP); 130 | 131 | gl.glVertex3d(min.X, min.Y, min.Z); 132 | gl.glVertex3d(max.X, min.Y, min.Z); 133 | gl.glVertex3d(max.X, max.Y, min.Z); 134 | gl.glVertex3d(min.X, max.Y, min.Z); 135 | 136 | gl.glEnd(); 137 | } 138 | 139 | { 140 | gl.glBegin(SharpGL.OpenGL.GL_LINES); 141 | 142 | gl.glVertex3d(min.X, min.Y, min.Z); 143 | gl.glVertex3d(min.X, min.Y, max.Z); 144 | 145 | gl.glVertex3d(max.X, max.Y, min.Z); 146 | gl.glVertex3d(max.X, max.Y, max.Z); 147 | 148 | gl.glVertex3d(min.X, max.Y, min.Z); 149 | gl.glVertex3d(min.X, max.Y, max.Z); 150 | 151 | gl.glVertex3d(max.X, min.Y, min.Z); 152 | gl.glVertex3d(max.X, min.Y, max.Z); 153 | 154 | gl.glEnd(); 155 | } 156 | 157 | { 158 | gl.glColor3f(1, 0, 0); 159 | gl.glBegin(SharpGL.OpenGL.GL_LINES); 160 | 161 | // Diagonal line between min & max points. 162 | gl.glVertex3d(min.X, min.Y, min.Z); 163 | gl.glVertex3d(max.X, max.Y, max.Z); 164 | 165 | gl.glEnd(); 166 | } 167 | } 168 | 169 | public void DrawOpenGlBoxes(SolidEdgeSDK.InteropServices.IGL gl) 170 | { 171 | if (ShowOpenGlBoxesDemo == false) return; 172 | 173 | float fSize = 0.025f; 174 | double[] matrix0 = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 }; 175 | double[] matrix1 = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, fSize, 1 }; 176 | double[] matrix2 = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, fSize, -fSize, 1 }; 177 | double[] matrix3 = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, fSize, -fSize, 0, 1 }; 178 | 179 | gl.glMatrixMode(SharpGL.OpenGL.GL_MODELVIEW); 180 | 181 | int mode = 0; 182 | int depth = 0; 183 | uint error; 184 | 185 | error = gl.glGetError(); 186 | 187 | gl.glGetIntegerv(SharpGL.OpenGL.GL_MATRIX_MODE, ref mode); 188 | gl.glGetIntegerv(SharpGL.OpenGL.GL_MODELVIEW_STACK_DEPTH, ref depth); 189 | gl.glPushMatrix(); 190 | gl.glGetIntegerv(SharpGL.OpenGL.GL_MODELVIEW_STACK_DEPTH, ref depth); 191 | 192 | gl.glLoadMatrixd(matrix0); 193 | gl.glColor3f(1, 0, 0); 194 | 195 | DrawOpenGlCube(gl, fSize / 2.0f); 196 | 197 | gl.glPopMatrix(); 198 | gl.glPushMatrix(); 199 | 200 | { 201 | gl.glMultMatrixd(matrix1); 202 | gl.glColor3f(0, 1, 0); 203 | DrawOpenGlCube(gl, fSize / 2.0f); 204 | } 205 | 206 | { 207 | gl.glMultMatrixd(matrix2); 208 | gl.glColor3f(0, 0, 1); 209 | DrawOpenGlCube(gl, fSize / 2.0f); 210 | } 211 | 212 | { 213 | gl.glMultMatrixd(matrix3); 214 | gl.glColor4f(1, 1, 0, .25f); 215 | DrawOpenGlCube(gl, fSize / 2.0f); 216 | } 217 | 218 | gl.glPopMatrix(); 219 | } 220 | 221 | private void DrawOpenGlCube(SolidEdgeSDK.InteropServices.IGL gl, float fSize) 222 | { 223 | float[][] p0 = new float[][] 224 | { 225 | new float[] { 0.0f, 0.0f, 0.0f }, 226 | new float[] { 0.0f, fSize, 0.0f }, 227 | new float[] { fSize, 0.0f, 0.0f }, 228 | new float[] { fSize, fSize, 0.0f } 229 | }; 230 | 231 | float[][] p1 = new float[][] 232 | { 233 | new float[] { 0.0f, 0.0f, fSize }, 234 | new float[] { 0.0f, fSize, fSize }, 235 | new float[] { fSize, 0.0f, fSize }, 236 | new float[] { fSize, fSize, fSize } 237 | }; 238 | 239 | float[][] p2 = new float[][] 240 | { 241 | new float[] { 0.0f, 0.0f, 0.0f }, 242 | new float[] { 0.0f, 0.0f, fSize }, 243 | new float[] { 0.0f, fSize, 0.0f }, 244 | new float[] { 0.0f, fSize, fSize } 245 | }; 246 | 247 | float[][] p3 = new float[][] 248 | { 249 | new float[] { fSize, 0.0f, 0.0f }, 250 | new float[] { fSize, 0.0f, fSize }, 251 | new float[] { fSize, fSize, 0.0f }, 252 | new float[] { fSize, fSize, fSize } 253 | }; 254 | 255 | float[][] p4 = new float[][] 256 | { 257 | new float[] { 0.0f, 0.0f, 0.0f }, 258 | new float[] { 0.0f, 0.0f, fSize }, 259 | new float[] { fSize, 0.0f, 0.0f }, 260 | new float[] { fSize, 0.0f, fSize } 261 | }; 262 | 263 | float[][] p5 = new float[][] 264 | { 265 | new float[] { 0.0f, fSize, 0.0f }, 266 | new float[] { 0.0f, fSize, fSize }, 267 | new float[] { fSize, fSize, 0.0f }, 268 | new float[] { fSize, fSize, fSize } 269 | }; 270 | 271 | // Normals 272 | float[][] n0 = new float[][] 273 | { 274 | new float[] { 0.0f, 0.0f, -1.0f }, 275 | new float[] { 0.0f, 0.0f, 1.0f}, 276 | new float[] { 0.0f, -1.0f, 0.0f}, 277 | new float[] { 0.0f, 1.0f, 0.0f}, 278 | new float[] { 0.0f, 0.0f, 1.0f}, 279 | new float[] { 0.0f, 1.0f, 0.0f}, 280 | new float[] { 0.0f, -1.0f, 0.0f } 281 | }; 282 | 283 | { 284 | gl.glBegin(SharpGL.OpenGL.GL_TRIANGLES); 285 | gl.glNormal3fv(n0[0]); 286 | 287 | gl.glEdgeFlag((byte)SharpGL.OpenGL.GL_TRUE); 288 | gl.glVertex3fv(p0[0]); 289 | 290 | gl.glEdgeFlag(0); 291 | gl.glVertex3fv(p0[1]); 292 | 293 | gl.glEdgeFlag(1); 294 | gl.glVertex3fv(p0[2]); 295 | 296 | gl.glNormal3fv(n0[1]); 297 | 298 | gl.glEdgeFlag(0); 299 | gl.glVertex3fv(p0[1]); 300 | 301 | gl.glEdgeFlag(1); 302 | gl.glVertex3fv(p0[2]); 303 | 304 | gl.glEdgeFlag(1); 305 | gl.glVertex3fv(p0[3]); 306 | 307 | gl.glEnd(); 308 | } 309 | 310 | { 311 | gl.glBegin(SharpGL.OpenGL.GL_TRIANGLE_STRIP); 312 | 313 | gl.glNormal3fv(n0[2]); 314 | 315 | gl.glEdgeFlag(1); 316 | gl.glVertex3fv(p1[0]); 317 | 318 | gl.glEdgeFlag(1); 319 | gl.glVertex3fv(p1[1]); 320 | 321 | gl.glEdgeFlag(1); 322 | gl.glVertex3fv(p1[2]); 323 | 324 | gl.glEdgeFlag(1); 325 | gl.glVertex3fv(p1[3]); 326 | 327 | gl.glEnd(); 328 | } 329 | 330 | { 331 | gl.glBegin(SharpGL.OpenGL.GL_TRIANGLE_STRIP); 332 | gl.glNormal3fv(n0[3]); 333 | 334 | gl.glEdgeFlag(1); 335 | gl.glVertex3fv(p2[0]); 336 | 337 | gl.glEdgeFlag(1); 338 | gl.glVertex3fv(p2[1]); 339 | 340 | gl.glEdgeFlag(1); 341 | gl.glVertex3fv(p2[2]); 342 | 343 | gl.glEdgeFlag(1); 344 | gl.glVertex3fv(p2[3]); 345 | 346 | gl.glEnd(); 347 | } 348 | 349 | { 350 | gl.glBegin(SharpGL.OpenGL.GL_TRIANGLE_STRIP); 351 | gl.glNormal3fv(n0[4]); 352 | 353 | gl.glEdgeFlag(1); 354 | gl.glVertex3fv(p3[0]); 355 | 356 | gl.glEdgeFlag(1); 357 | gl.glVertex3fv(p3[1]); 358 | 359 | gl.glEdgeFlag(1); 360 | gl.glVertex3fv(p3[2]); 361 | 362 | gl.glEdgeFlag(1); 363 | gl.glVertex3fv(p3[3]); 364 | 365 | gl.glEnd(); 366 | } 367 | 368 | { 369 | gl.glBegin(SharpGL.OpenGL.GL_TRIANGLE_STRIP); 370 | 371 | gl.glNormal3fv(n0[5]); 372 | 373 | gl.glEdgeFlag(1); 374 | gl.glVertex3fv(p4[0]); 375 | 376 | gl.glEdgeFlag(1); 377 | gl.glVertex3fv(p4[1]); 378 | 379 | gl.glEdgeFlag(1); 380 | gl.glVertex3fv(p4[2]); 381 | 382 | gl.glEdgeFlag(1); 383 | gl.glVertex3fv(p4[3]); 384 | 385 | gl.glEnd(); 386 | } 387 | 388 | { 389 | gl.glBegin(SharpGL.OpenGL.GL_TRIANGLE_STRIP); 390 | gl.glNormal3fv(n0[6]); 391 | 392 | gl.glEdgeFlag(1); 393 | gl.glVertex3fv(p5[0]); 394 | 395 | gl.glEdgeFlag(1); 396 | gl.glVertex3fv(p5[1]); 397 | 398 | gl.glEdgeFlag(1); 399 | gl.glVertex3fv(p5[2]); 400 | 401 | gl.glEdgeFlag(1); 402 | gl.glVertex3fv(p5[3]); 403 | 404 | gl.glEnd(); 405 | } 406 | } 407 | 408 | private void DrawGdiPlusDemo(IntPtr hDC) 409 | { 410 | if (ShowGDIPlusDemo == false) return; 411 | 412 | //Demonstrate using GDI+ to write text on the device context (DC). 413 | using (Graphics graphics = Graphics.FromHdc(hDC)) 414 | { 415 | Point point = new Point(0, 0); 416 | 417 | using (Font font = SystemFonts.DialogFont) 418 | { 419 | Color color = Color.Yellow; 420 | string lastUpdate = DateTime.Now.ToString(); 421 | 422 | lastUpdate = String.Format("Last update: {0}", lastUpdate); 423 | 424 | TextRenderer.DrawText(graphics, lastUpdate, font, point, color, Color.Black); 425 | Size size = TextRenderer.MeasureText(lastUpdate, font); 426 | 427 | point.Offset(0, size.Height); 428 | } 429 | 430 | using (var pen = new Pen(Color.Red, 2)) 431 | { 432 | var clipBounds = graphics.VisibleClipBounds; 433 | var window = this.Window; 434 | 435 | //Draw a line 436 | //graphics.DrawLine(pen, 10, 5, 110, 15); 437 | graphics.DrawLine(pen, window.Left, window.Top, window.Width, window.Height); 438 | } 439 | 440 | //Draw an ellipse 441 | graphics.DrawEllipse(Pens.Blue, 10, 20, 110, 45); 442 | 443 | //Draw a rectangle 444 | graphics.DrawRectangle(Pens.Green, 10, 70, 110, 45); 445 | 446 | //Fill an ellipse 447 | graphics.FillEllipse(Brushes.Blue, 130, 20, 110, 45); 448 | 449 | //Fill a rectangle 450 | graphics.FillRectangle(Brushes.Green, 130, 70, 110, 45); 451 | 452 | } 453 | } 454 | 455 | #region IDisposable implementation 456 | 457 | public void Dispose() 458 | { 459 | Dispose(true); 460 | GC.SuppressFinalize(this); 461 | } 462 | 463 | void Dispose(bool disposing) 464 | { 465 | if (!IsDisposed) 466 | { 467 | if (disposing) 468 | { 469 | ComEventsManager.DetachAll(); 470 | } 471 | 472 | IsDisposed = true; 473 | } 474 | } 475 | 476 | #endregion 477 | 478 | public bool ShowBoundingBox 479 | { 480 | get { return BoundingBoxInfo.Visible; } 481 | set 482 | { 483 | BoundingBoxInfo.Visible = value; 484 | 485 | // Force the view to update. 486 | this.View?.Update(); 487 | } 488 | } 489 | 490 | public bool ShowOpenGlBoxesDemo 491 | { 492 | get { return _showOpenGlBoxesDemo; } 493 | set 494 | { 495 | _showOpenGlBoxesDemo = value; 496 | 497 | // Force the view to update. 498 | this.View?.Update(); 499 | } 500 | } 501 | 502 | public bool ShowGDIPlusDemo 503 | { 504 | get { return _showGdiPlusDemo; } 505 | set 506 | { 507 | _showGdiPlusDemo = value; 508 | 509 | // Force the view to update. 510 | this.View?.Update(); 511 | } 512 | } 513 | 514 | public SolidEdgeFramework.View View { get { return _window?.View; } } 515 | 516 | public SolidEdgeFramework.Window Window 517 | { 518 | get { return _window; } 519 | set 520 | { 521 | ComEventsManager.DetachAll(); 522 | 523 | _window = value; 524 | 525 | if (_window.Parent is SolidEdgeFramework.SolidEdgeDocument document) 526 | { 527 | // IPA document windows work different. 528 | // It will be a window with the same name but not the actual document window. 529 | if (document.InPlaceActivated) 530 | { 531 | _window = SolidEdgeAddIn.Application.Windows 532 | .OfType() 533 | .Where(x => IntPtr.Equals(x.GetHandle(), _window.GetHandle()) == false) 534 | .Where(x => String.Equals(x.Caption, _window.Caption)) 535 | .FirstOrDefault(); 536 | } 537 | } 538 | 539 | if (View != null) 540 | { 541 | ComEventsManager.Attach(View.ViewEvents); 542 | ComEventsManager.Attach(View.GLDisplayEvents); 543 | ComEventsManager.Attach(View.DisplayEvents); 544 | } 545 | } 546 | } 547 | 548 | public ComEventsManager ComEventsManager { get; private set; } 549 | public bool IsDisposed { get; private set; } = false; 550 | private BoundingBoxInfo BoundingBoxInfo { get; set; } = new BoundingBoxInfo(); 551 | public SolidEdgeAddIn SolidEdgeAddIn { get; internal set; } 552 | } 553 | 554 | class BoundingBoxInfo 555 | { 556 | public float LineWidth { get; set; } 557 | public Color LineColor { get; set; } 558 | public bool Visible { get; set; } 559 | } 560 | 561 | struct Vector3d 562 | { 563 | public double X; 564 | public double Y; 565 | public double Z; 566 | } 567 | } -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/Native.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/DemoAddIn/cs/DemoAddIn/Native.rc -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/Native.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/DemoAddIn/cs/DemoAddIn/Native.res -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/NativeMessageEdgeBarControl.Designer.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace DemoAddIn 3 | { 4 | partial class NativeMessageEdgeBarControl 5 | { 6 | /// 7 | /// Required designer variable. 8 | /// 9 | private System.ComponentModel.IContainer components = null; 10 | 11 | /// 12 | /// Clean up any resources being used. 13 | /// 14 | /// true if managed resources should be disposed; otherwise, false. 15 | protected override void Dispose(bool disposing) 16 | { 17 | if (disposing && (components != null)) 18 | { 19 | components.Dispose(); 20 | } 21 | base.Dispose(disposing); 22 | } 23 | 24 | #region Component Designer generated code 25 | 26 | /// 27 | /// Required method for Designer support - do not modify 28 | /// the contents of this method with the code editor. 29 | /// 30 | private void InitializeComponent() 31 | { 32 | this.tbMessages = new System.Windows.Forms.TextBox(); 33 | this.SuspendLayout(); 34 | // 35 | // tbMessages 36 | // 37 | this.tbMessages.Dock = System.Windows.Forms.DockStyle.Fill; 38 | this.tbMessages.HideSelection = false; 39 | this.tbMessages.Location = new System.Drawing.Point(0, 0); 40 | this.tbMessages.Multiline = true; 41 | this.tbMessages.Name = "tbMessages"; 42 | this.tbMessages.ScrollBars = System.Windows.Forms.ScrollBars.Both; 43 | this.tbMessages.Size = new System.Drawing.Size(573, 489); 44 | this.tbMessages.TabIndex = 0; 45 | this.tbMessages.WordWrap = false; 46 | // 47 | // NativeMessageEdgeBarControl 48 | // 49 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 50 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 51 | this.Controls.Add(this.tbMessages); 52 | this.Name = "NativeMessageEdgeBarControl"; 53 | this.Size = new System.Drawing.Size(573, 489); 54 | this.ResumeLayout(false); 55 | this.PerformLayout(); 56 | 57 | } 58 | 59 | #endregion 60 | 61 | private System.Windows.Forms.TextBox tbMessages; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/NativeMessageEdgeBarControl.cs: -------------------------------------------------------------------------------- 1 | using SolidEdgeSDK.AddIn; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.ComponentModel; 5 | using System.Data; 6 | using System.Drawing; 7 | using System.Linq; 8 | using System.Text; 9 | using System.Threading.Tasks; 10 | using System.Windows.Forms; 11 | 12 | namespace DemoAddIn 13 | { 14 | public partial class NativeMessageEdgeBarControl : UserControl 15 | { 16 | public NativeMessageEdgeBarControl() 17 | { 18 | InitializeComponent(); 19 | } 20 | 21 | public void LogMessage(Message m) 22 | { 23 | tbMessages.AppendText($"{m.ToString()}{Environment.NewLine}"); 24 | } 25 | 26 | public EdgeBarPage EdgeBarPage { get; set; } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/NativeMessageEdgeBarControl.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/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("DemoAddIn")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("DemoAddIn")] 13 | [assembly: AssemblyCopyright("Copyright © 2020")] 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("8692b005-b856-4452-9592-470e3ec75aad")] 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("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/Properties/Resources.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 DemoAddIn.Properties { 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", "16.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 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 Resources() { 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("DemoAddIn.Properties.Resources", typeof(Resources).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 | /// Looks up a localized string similar to About DemoAddIn 65 | ///About DemoAddIn Screentip 66 | ///About DemoAddIn Supertip. 67 | /// 68 | internal static string AboutCommand { 69 | get { 70 | return ResourceManager.GetString("AboutCommand", resourceCulture); 71 | } 72 | } 73 | 74 | /// 75 | /// Looks up a localized string similar to Solid Edge Community DemoAddIn (C#). 76 | /// 77 | internal static string AddInDescription { 78 | get { 79 | return ResourceManager.GetString("AddInDescription", resourceCulture); 80 | } 81 | } 82 | 83 | /// 84 | /// Looks up a localized string similar to Solid Edge Community DemoAddIn (C#). 85 | /// 86 | internal static string AddInSummary { 87 | get { 88 | return ResourceManager.GetString("AddInSummary", resourceCulture); 89 | } 90 | } 91 | 92 | /// 93 | /// Looks up a localized string similar to __SOLIDEDGE_BACKSTAGE__. 94 | /// 95 | internal static string BackstageCategory { 96 | get { 97 | return ResourceManager.GetString("BackstageCategory", resourceCulture); 98 | } 99 | } 100 | 101 | /// 102 | /// Looks up a localized string similar to Bounding Box 103 | ///Bounding Box Screentip 104 | ///Bounding Box Supertip. 105 | /// 106 | internal static string BoundingBoxCommand { 107 | get { 108 | return ResourceManager.GetString("BoundingBoxCommand", resourceCulture); 109 | } 110 | } 111 | 112 | /// 113 | /// Looks up a localized string similar to Box 114 | ///Box Screentip 115 | ///Box Supertip. 116 | /// 117 | internal static string BoxCommand { 118 | get { 119 | return ResourceManager.GetString("BoxCommand", resourceCulture); 120 | } 121 | } 122 | 123 | /// 124 | /// Looks up a localized string similar to Camera 125 | ///Camera Screentip 126 | ///Camera Supertip. 127 | /// 128 | internal static string CameraCommand { 129 | get { 130 | return ResourceManager.GetString("CameraCommand", resourceCulture); 131 | } 132 | } 133 | 134 | /// 135 | /// Looks up a localized string similar to Checkbox1 136 | ///Checkbox1 Screentip 137 | ///Checkbox1 Supertip. 138 | /// 139 | internal static string Checkbox1Command { 140 | get { 141 | return ResourceManager.GetString("Checkbox1Command", resourceCulture); 142 | } 143 | } 144 | 145 | /// 146 | /// Looks up a localized string similar to Checkbox2 147 | ///Checkbox2 Screentip 148 | ///Checkbox2 Supertip. 149 | /// 150 | internal static string Checkbox2Command { 151 | get { 152 | return ResourceManager.GetString("Checkbox2Command", resourceCulture); 153 | } 154 | } 155 | 156 | /// 157 | /// Looks up a localized string similar to Checkbox3 158 | ///Checkbox3 Screentip 159 | ///Checkbox3 Supertip. 160 | /// 161 | internal static string Checkbox3Command { 162 | get { 163 | return ResourceManager.GetString("Checkbox3Command", resourceCulture); 164 | } 165 | } 166 | 167 | /// 168 | /// Looks up a localized string similar to Command Prompt 169 | ///Command Prompt Screentip 170 | ///Command Prompt Supertip. 171 | /// 172 | internal static string CommandPromptCommand { 173 | get { 174 | return ResourceManager.GetString("CommandPromptCommand", resourceCulture); 175 | } 176 | } 177 | 178 | /// 179 | /// Looks up a localized string similar to Favorites 180 | ///Favorites Screentip 181 | ///Favorites Supertip. 182 | /// 183 | internal static string FavoritesCommand { 184 | get { 185 | return ResourceManager.GetString("FavoritesCommand", resourceCulture); 186 | } 187 | } 188 | 189 | /// 190 | /// Looks up a localized string similar to Folder 191 | ///Folder Screentip 192 | ///Folder Supertip. 193 | /// 194 | internal static string FolderCommand { 195 | get { 196 | return ResourceManager.GetString("FolderCommand", resourceCulture); 197 | } 198 | } 199 | 200 | /// 201 | /// Looks up a localized string similar to GDI+ 202 | ///GDI+ Screentip 203 | ///GDI+ Supertip. 204 | /// 205 | internal static string GdiPlusCommand { 206 | get { 207 | return ResourceManager.GetString("GdiPlusCommand", resourceCulture); 208 | } 209 | } 210 | 211 | /// 212 | /// Looks up a localized string similar to Help 213 | ///Help Screentip 214 | ///Help Supertip. 215 | /// 216 | internal static string HelpCommand { 217 | get { 218 | return ResourceManager.GetString("HelpCommand", resourceCulture); 219 | } 220 | } 221 | 222 | /// 223 | /// Looks up a localized string similar to Monitor 224 | ///Monitor Screentip 225 | ///Monitor Supertip. 226 | /// 227 | internal static string MonitorCommand { 228 | get { 229 | return ResourceManager.GetString("MonitorCommand", resourceCulture); 230 | } 231 | } 232 | 233 | /// 234 | /// Looks up a localized string similar to DemoAddIn (Index: 1). 235 | /// 236 | internal static string MyDocumentEdgeBarCaption1 { 237 | get { 238 | return ResourceManager.GetString("MyDocumentEdgeBarCaption1", resourceCulture); 239 | } 240 | } 241 | 242 | /// 243 | /// Looks up a localized string similar to DemoAddIn (Index: 2). 244 | /// 245 | internal static string MyDocumentEdgeBarCaption2 { 246 | get { 247 | return ResourceManager.GetString("MyDocumentEdgeBarCaption2", resourceCulture); 248 | } 249 | } 250 | 251 | /// 252 | /// Looks up a localized string similar to DemoAddIn. 253 | /// 254 | internal static string MyGlobalEdgeBarCaption { 255 | get { 256 | return ResourceManager.GetString("MyGlobalEdgeBarCaption", resourceCulture); 257 | } 258 | } 259 | 260 | /// 261 | /// Looks up a localized string similar to Notepad 262 | ///Notepad Screentip 263 | ///Notepad Supertip. 264 | /// 265 | internal static string NotepadCommand { 266 | get { 267 | return ResourceManager.GetString("NotepadCommand", resourceCulture); 268 | } 269 | } 270 | 271 | /// 272 | /// Looks up a localized string similar to OpenGL Boxes 273 | ///OpenGL Boxes Screentip 274 | ///OpenGL Boxes Supertip. 275 | /// 276 | internal static string OpenGlBoxesCommand { 277 | get { 278 | return ResourceManager.GetString("OpenGlBoxesCommand", resourceCulture); 279 | } 280 | } 281 | 282 | /// 283 | /// Looks up a localized string similar to Photograph 284 | ///Photograph Screentip 285 | ///Photograph Supertip. 286 | /// 287 | internal static string PhotographCommand { 288 | get { 289 | return ResourceManager.GetString("PhotographCommand", resourceCulture); 290 | } 291 | } 292 | 293 | /// 294 | /// Looks up a localized string similar to Printer 295 | ///Printer Screentip 296 | ///Printer Supertip. 297 | /// 298 | internal static string PrinterCommand { 299 | get { 300 | return ResourceManager.GetString("PrinterCommand", resourceCulture); 301 | } 302 | } 303 | 304 | /// 305 | /// Looks up a localized string similar to Question 306 | ///Question Supertip 307 | ///Question Screentip. 308 | /// 309 | internal static string QuestionCommand { 310 | get { 311 | return ResourceManager.GetString("QuestionCommand", resourceCulture); 312 | } 313 | } 314 | 315 | /// 316 | /// Looks up a localized string similar to Radiobutton1 317 | ///Radiobutton1 Screentip 318 | ///Radiobutton1 Supertip. 319 | /// 320 | internal static string Radiobutton1Command { 321 | get { 322 | return ResourceManager.GetString("Radiobutton1Command", resourceCulture); 323 | } 324 | } 325 | 326 | /// 327 | /// Looks up a localized string similar to Radiobutton2 328 | ///Radiobutton2 Screentip 329 | ///Radiobutton2 Supertip. 330 | /// 331 | internal static string Radiobutton2Command { 332 | get { 333 | return ResourceManager.GetString("Radiobutton2Command", resourceCulture); 334 | } 335 | } 336 | 337 | /// 338 | /// Looks up a localized string similar to Radiobutton3 339 | ///Radiobutton3 Screentip 340 | ///Radiobutton3 Supertip. 341 | /// 342 | internal static string Radiobutton3Command { 343 | get { 344 | return ResourceManager.GetString("Radiobutton3Command", resourceCulture); 345 | } 346 | } 347 | 348 | /// 349 | /// Looks up a localized string similar to Solid Edge Community. 350 | /// 351 | internal static string RibbonCaption { 352 | get { 353 | return ResourceManager.GetString("RibbonCaption", resourceCulture); 354 | } 355 | } 356 | 357 | /// 358 | /// Looks up a localized string similar to Group 1. 359 | /// 360 | internal static string RibbonGroup1 { 361 | get { 362 | return ResourceManager.GetString("RibbonGroup1", resourceCulture); 363 | } 364 | } 365 | 366 | /// 367 | /// Looks up a localized string similar to Group 2. 368 | /// 369 | internal static string RibbonGroup2 { 370 | get { 371 | return ResourceManager.GetString("RibbonGroup2", resourceCulture); 372 | } 373 | } 374 | 375 | /// 376 | /// Looks up a localized string similar to Group 3. 377 | /// 378 | internal static string RibbonGroup3 { 379 | get { 380 | return ResourceManager.GetString("RibbonGroup3", resourceCulture); 381 | } 382 | } 383 | 384 | /// 385 | /// Looks up a localized string similar to Group 4. 386 | /// 387 | internal static string RibbonGroup4 { 388 | get { 389 | return ResourceManager.GetString("RibbonGroup4", resourceCulture); 390 | } 391 | } 392 | 393 | /// 394 | /// Looks up a localized string similar to Group 5. 395 | /// 396 | internal static string RibbonGroup5 { 397 | get { 398 | return ResourceManager.GetString("RibbonGroup5", resourceCulture); 399 | } 400 | } 401 | 402 | /// 403 | /// Looks up a localized string similar to Group 6. 404 | /// 405 | internal static string RibbonGroup6 { 406 | get { 407 | return ResourceManager.GetString("RibbonGroup6", resourceCulture); 408 | } 409 | } 410 | 411 | /// 412 | /// Looks up a localized string similar to Overlays. 413 | /// 414 | internal static string RibbonGroupOverlays { 415 | get { 416 | return ResourceManager.GetString("RibbonGroupOverlays", resourceCulture); 417 | } 418 | } 419 | 420 | /// 421 | /// Looks up a localized string similar to Save 422 | ///Save Screentip 423 | ///Save Supertip. 424 | /// 425 | internal static string SaveCommand { 426 | get { 427 | return ResourceManager.GetString("SaveCommand", resourceCulture); 428 | } 429 | } 430 | 431 | /// 432 | /// Looks up a localized string similar to Search 433 | ///Search Screentip 434 | ///Search Supertip. 435 | /// 436 | internal static string SearchCommand { 437 | get { 438 | return ResourceManager.GetString("SearchCommand", resourceCulture); 439 | } 440 | } 441 | 442 | /// 443 | /// Looks up a localized string similar to Tools 444 | ///Tools Screentip 445 | ///Tools Supertip. 446 | /// 447 | internal static string ToolsCommand { 448 | get { 449 | return ResourceManager.GetString("ToolsCommand", resourceCulture); 450 | } 451 | } 452 | } 453 | } 454 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | About DemoAddIn 122 | About DemoAddIn Screentip 123 | About DemoAddIn Supertip 124 | 125 | 126 | Solid Edge Community DemoAddIn (C#) 127 | 128 | 129 | Solid Edge Community DemoAddIn (C#) 130 | 131 | 132 | __SOLIDEDGE_BACKSTAGE__ 133 | 134 | 135 | Bounding Box 136 | Bounding Box Screentip 137 | Bounding Box Supertip 138 | 139 | 140 | Box 141 | Box Screentip 142 | Box Supertip 143 | 144 | 145 | Camera 146 | Camera Screentip 147 | Camera Supertip 148 | 149 | 150 | Checkbox1 151 | Checkbox1 Screentip 152 | Checkbox1 Supertip 153 | 154 | 155 | Checkbox2 156 | Checkbox2 Screentip 157 | Checkbox2 Supertip 158 | 159 | 160 | Checkbox3 161 | Checkbox3 Screentip 162 | Checkbox3 Supertip 163 | 164 | 165 | Command Prompt 166 | Command Prompt Screentip 167 | Command Prompt Supertip 168 | 169 | 170 | Favorites 171 | Favorites Screentip 172 | Favorites Supertip 173 | 174 | 175 | Folder 176 | Folder Screentip 177 | Folder Supertip 178 | 179 | 180 | GDI+ 181 | GDI+ Screentip 182 | GDI+ Supertip 183 | 184 | 185 | Help 186 | Help Screentip 187 | Help Supertip 188 | 189 | 190 | Monitor 191 | Monitor Screentip 192 | Monitor Supertip 193 | 194 | 195 | DemoAddIn (Index: 1) 196 | 197 | 198 | DemoAddIn (Index: 2) 199 | 200 | 201 | DemoAddIn 202 | 203 | 204 | Notepad 205 | Notepad Screentip 206 | Notepad Supertip 207 | 208 | 209 | OpenGL Boxes 210 | OpenGL Boxes Screentip 211 | OpenGL Boxes Supertip 212 | 213 | 214 | Photograph 215 | Photograph Screentip 216 | Photograph Supertip 217 | 218 | 219 | Printer 220 | Printer Screentip 221 | Printer Supertip 222 | 223 | 224 | Question 225 | Question Supertip 226 | Question Screentip 227 | 228 | 229 | Radiobutton1 230 | Radiobutton1 Screentip 231 | Radiobutton1 Supertip 232 | 233 | 234 | Radiobutton2 235 | Radiobutton2 Screentip 236 | Radiobutton2 Supertip 237 | 238 | 239 | Radiobutton3 240 | Radiobutton3 Screentip 241 | Radiobutton3 Supertip 242 | 243 | 244 | Solid Edge Community 245 | 246 | 247 | Group 1 248 | 249 | 250 | Group 2 251 | 252 | 253 | Group 3 254 | 255 | 256 | Group 4 257 | 258 | 259 | Group 5 260 | 261 | 262 | Group 6 263 | 264 | 265 | Overlays 266 | 267 | 268 | Save 269 | Save Screentip 270 | Save Supertip 271 | 272 | 273 | Search 274 | Search Screentip 275 | Search Supertip 276 | 277 | 278 | Tools 279 | Tools Screentip 280 | Tools Supertip 281 | 282 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/Properties/Resources.zh-CN.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/DemoAddIn/cs/DemoAddIn/Properties/Resources.zh-CN.Designer.cs -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/Properties/Resources.zh-CN.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | About DemoAddIn 122 | About DemoAddIn Screentip 123 | About DemoAddIn Supertip 124 | 125 | 126 | Solid Edge Community DemoAddIn (C#) 127 | 128 | 129 | Solid Edge Community DemoAddIn (C#) 130 | 131 | 132 | __SOLIDEDGE_BACKSTAGE__ 133 | 134 | 135 | Bounding Box 136 | Bounding Box Screentip 137 | Bounding Box Supertip 138 | 139 | 140 | Box 141 | Box Screentip 142 | Box Supertip 143 | 144 | 145 | Camera 146 | Camera Screentip 147 | Camera Supertip 148 | 149 | 150 | Checkbox1 151 | Checkbox1 Screentip 152 | Checkbox1 Supertip 153 | 154 | 155 | Checkbox2 156 | Checkbox2 Screentip 157 | Checkbox2 Supertip 158 | 159 | 160 | Checkbox3 161 | Checkbox3 Screentip 162 | Checkbox3 Supertip 163 | 164 | 165 | Command Prompt 166 | Command Prompt Screentip 167 | Command Prompt Supertip 168 | 169 | 170 | Favorites 171 | Favorites Screentip 172 | Favorites Supertip 173 | 174 | 175 | Folder 176 | Folder Screentip 177 | Folder Supertip 178 | 179 | 180 | GDI+ 181 | GDI+ Screentip 182 | GDI+ Supertip 183 | 184 | 185 | Help 186 | Help Screentip 187 | Help Supertip 188 | 189 | 190 | Monitor 191 | Monitor Screentip 192 | Monitor Supertip 193 | 194 | 195 | DemoAddIn (Index: 1) 196 | 197 | 198 | DemoAddIn (Index: 2) 199 | 200 | 201 | DemoAddIn 202 | 203 | 204 | Notepad 205 | Notepad Screentip 206 | Notepad Supertip 207 | 208 | 209 | OpenGL Boxes 210 | OpenGL Boxes Screentip 211 | OpenGL Boxes Supertip 212 | 213 | 214 | Photograph 215 | Photograph Screentip 216 | Photograph Supertip 217 | 218 | 219 | Printer 220 | Printer Screentip 221 | Printer Supertip 222 | 223 | 224 | Question 225 | Question Supertip 226 | Question Screentip 227 | 228 | 229 | Radiobutton1 230 | Radiobutton1 Screentip 231 | Radiobutton1 Supertip 232 | 233 | 234 | Radiobutton2 235 | Radiobutton2 Screentip 236 | Radiobutton2 Supertip 237 | 238 | 239 | Radiobutton3 240 | Radiobutton3 Screentip 241 | Radiobutton3 Supertip 242 | 243 | 244 | Solid Edge Community 245 | 246 | 247 | Group 1 248 | 249 | 250 | Group 2 251 | 252 | 253 | Group 3 254 | 255 | 256 | Group 4 257 | 258 | 259 | Group 5 260 | 261 | 262 | Group 6 263 | 264 | 265 | Overlays 266 | 267 | 268 | Save 269 | Save Screentip 270 | Save Supertip 271 | 272 | 273 | Search 274 | Search Screentip 275 | Search Supertip 276 | 277 | 278 | Tools 279 | Tools Screentip 280 | Tools Supertip 281 | 282 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/Registration.bat: -------------------------------------------------------------------------------- 1 | :: If you are changing bin\Debug\ to something like ..\..\..\MyProduct, 2 | :: you are probably doing it wrong and this script will not work for you. 3 | 4 | :: Execute WHERE RegAsm.exe from a command prompt like the Developer Command Prompt for VS 2019. 5 | :: It will return C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe which is the 32 bit version. 6 | :: Using the 32 bit version of RegAsm.exe will not correctly register your addin for modern Solid Edge (x64). 7 | :: %SystemRoot%\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe is the 64 bit version and is the correct 8 | :: version for registering modern Solid Edge AddIns. 9 | 10 | @echo off 11 | 12 | :: Update to match as necessary. 13 | set ASSEMBLY_NAME=DemoAddIn 14 | 15 | :: If you left alone, this will resolve to the correct path. 16 | set ADDIN_PATH="%~dp0bin\Debug\%ASSEMBLY_NAME%.dll" 17 | 18 | :: set REGASM_X32="%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe" 19 | set REGASM_X64="%SystemRoot%\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe" 20 | 21 | CLS 22 | 23 | WHOAMI /Groups | FIND "S-1-16-12288" >NUL 24 | IF ERRORLEVEL 1 ( 25 | ECHO This batch file requires elevated privileges. 26 | EXIT /B 1 27 | ) 28 | 29 | :menu 30 | echo [Options] 31 | echo 1 Register %ADDIN_PATH% 32 | echo 2 Unregister %ADDIN_PATH% 33 | echo 3 Quit 34 | 35 | :choice 36 | set /P C=Enter selection: 37 | if "%C%"=="1" goto register 38 | if "%C%"=="2" goto unregister 39 | if "%C%"=="3" goto end 40 | goto choice 41 | 42 | :register 43 | echo. 44 | %REGASM_X64% /codebase %ADDIN_PATH% 45 | goto end 46 | 47 | :unregister 48 | echo. 49 | %REGASM_X64% /u %ADDIN_PATH% 50 | goto end 51 | 52 | :end 53 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/res/BoundingBox_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/DemoAddIn/cs/DemoAddIn/res/BoundingBox_32.png -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/res/Box_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/DemoAddIn/cs/DemoAddIn/res/Box_32.png -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/res/Boxes_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/DemoAddIn/cs/DemoAddIn/res/Boxes_32.png -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/res/Camera_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/DemoAddIn/cs/DemoAddIn/res/Camera_32.png -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/res/CommandPrompt_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/DemoAddIn/cs/DemoAddIn/res/CommandPrompt_32.png -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/res/EdgeBar_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/DemoAddIn/cs/DemoAddIn/res/EdgeBar_20.png -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/res/Favorites_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/DemoAddIn/cs/DemoAddIn/res/Favorites_32.png -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/res/Folder_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/DemoAddIn/cs/DemoAddIn/res/Folder_16.png -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/res/GdiPlus_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/DemoAddIn/cs/DemoAddIn/res/GdiPlus_32.png -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/res/Help_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/DemoAddIn/cs/DemoAddIn/res/Help_32.png -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/res/Monitor_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/DemoAddIn/cs/DemoAddIn/res/Monitor_16.png -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/res/Notepad_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/DemoAddIn/cs/DemoAddIn/res/Notepad_32.png -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/res/Photograph_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/DemoAddIn/cs/DemoAddIn/res/Photograph_32.png -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/res/Printer_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/DemoAddIn/cs/DemoAddIn/res/Printer_32.png -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/res/Question_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/DemoAddIn/cs/DemoAddIn/res/Question_32.png -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/res/Save_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/DemoAddIn/cs/DemoAddIn/res/Save_16.png -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/res/Search_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/DemoAddIn/cs/DemoAddIn/res/Search_32.png -------------------------------------------------------------------------------- /samples/addin/DemoAddIn/cs/DemoAddIn/res/Tools_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/DemoAddIn/cs/DemoAddIn/res/Tools_32.png -------------------------------------------------------------------------------- /samples/addin/EmptyAddIn/cs/EmptyAddIn.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.30320.27 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EmptyAddIn", "EmptyAddIn\EmptyAddIn.csproj", "{877CEFBC-1E32-40B1-9A86-3851CB2721CC}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {877CEFBC-1E32-40B1-9A86-3851CB2721CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {877CEFBC-1E32-40B1-9A86-3851CB2721CC}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {877CEFBC-1E32-40B1-9A86-3851CB2721CC}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {877CEFBC-1E32-40B1-9A86-3851CB2721CC}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {280D519C-5669-40F3-B1B5-CBBC7AA791D2} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /samples/addin/EmptyAddIn/cs/EmptyAddIn/CompileNativeRes.bat: -------------------------------------------------------------------------------- 1 | :: Resource Compiler (rc.exe) is included in the Windows 10 SDK 2 | :: and can be installed using the Visual Studio Installer. 3 | :: https://docs.microsoft.com/en-us/windows/win32/menurc/resource-compiler 4 | 5 | :: Solid Edge AddIns require native resources for BITMAP, PNG, etc. 6 | :: If you examine the .csproj, you will see Native.res. 7 | :: This instructs MSBUILD to embed Native.res into the $(TargetPath). 8 | 9 | :: Update Native.rc and MyConstants.cs as needed. 10 | :: This batch file must be executed manually but could be added 11 | :: to pre-build events. 12 | @echo off 13 | 14 | set RC_PATH="Native.rc" 15 | set RES_PATH="Native.res" 16 | 17 | :: RC_PATH -> RES_PATH 18 | rc.exe /fo%RES_PATH% %RC_PATH% -------------------------------------------------------------------------------- /samples/addin/EmptyAddIn/cs/EmptyAddIn/EmptyAddIn.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {8692B005-B856-4452-9592-470E3EC75AAD} 8 | Library 9 | Properties 10 | EmptyAddIn 11 | EmptyAddIn 12 | v4.7.2 13 | 512 14 | true 15 | 16 | 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | TRACE;DEBUG 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | bin\Release\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | Native.res 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | SolidEdgeSDK.cs 51 | 52 | 53 | 54 | 55 | 56 | True 57 | True 58 | Resources.resx 59 | 60 | 61 | 62 | 63 | ResXFileCodeGenerator 64 | Resources.Designer.cs 65 | Designer 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | {3E2B3BD4-F0B9-11D1-BDFD-080036B4D502} 75 | 1 76 | 0 77 | 0 78 | tlbimp 79 | False 80 | True 81 | 82 | 83 | {C467A6F5-27ED-11D2-BE30-080036B4D502} 84 | 1 85 | 0 86 | 0 87 | tlbimp 88 | False 89 | True 90 | 91 | 92 | {3E2B3BDC-F0B9-11D1-BDFD-080036B4D502} 93 | 1 94 | 0 95 | 0 96 | tlbimp 97 | False 98 | True 99 | 100 | 101 | {8A7EFA3A-F000-11D1-BDFC-080036B4D502} 102 | 1 103 | 0 104 | 0 105 | tlbimp 106 | False 107 | True 108 | 109 | 110 | {943AC5C6-F4DB-11D1-BE00-080036B4D502} 111 | 1 112 | 0 113 | 0 114 | tlbimp 115 | False 116 | True 117 | 118 | 119 | {3E2B3BE1-F0B9-11D1-BDFD-080036B4D502} 120 | 1 121 | 0 122 | 0 123 | tlbimp 124 | False 125 | True 126 | 127 | 128 | {8A7EFA42-F000-11D1-BDFC-080036B4D502} 129 | 1 130 | 0 131 | 0 132 | tlbimp 133 | False 134 | True 135 | 136 | 137 | 138 | 139 | 140 | 141 | -------------------------------------------------------------------------------- /samples/addin/EmptyAddIn/cs/EmptyAddIn/Instructions.txt: -------------------------------------------------------------------------------- 1 | [COM references] 2 | - All COM references in this project have "Embed Interop Types" set to True. 3 | - This prevents Interop.*.dll assemblies from being generated and is typically desired. 4 | - You are welcome to "Embed Interop Types" set to False. It does not change the code execution. 5 | 6 | [MyConstants.cs] 7 | - Generate new unique GUID for MyConstants.AddInGuid. 8 | - Update MyConstants.AddInProgId accordingly. 9 | 10 | [Native.rc] 11 | - Native images used by EdgeBar & Ribbon. 12 | - Must be maintained manually. 13 | - Execute CompileNativeRes.bat to compile Native.rc to Native.res. 14 | 15 | [Native.res] 16 | - Native images used by EdgeBar & Ribbon. 17 | - Compiled version of Native.rc. 18 | - Native.res in EmptyAddIn.csproj. 19 | 20 | [Properties\Resources.resx] 21 | - Example of how to use .NET resources for strings. 22 | - .NET resources can be localized. 23 | 24 | [Registration.bat] 25 | - Sample batch file to register the addin on a developer system. 26 | - Must be executed with administrator privilege. 27 | - Use "Developer Command Prompt for VS 20XX " shortcut so that regasm.exe resolves correctly. 28 | - If you change the assemlby name, modify the ASSEMBLY_NAME variable to match. 29 | 30 | [MyAddIn.cs] 31 | - Core addin code. Solid Edge will create an instance of this class when it loads the addin. 32 | - OnConnection(), OnConnectToEnvironment() & OnDisconnection() are primary entry\exit points. 33 | - Desired event sets can be easily attached by implementing event interface and using ComEventsManager.Attach(). 34 | - CATID.SolidEdgeAddIn is currently specified to make the demo easy to setup. 35 | - When you make changes to your ribbon, you MUST increment AddInInstance.GuiVersion during OnConnection() for the changes to work correctly. 36 | 37 | [SolidEdgeSDK.cs] 38 | - Community provided and maintained Solid Edge SDK for C#. 39 | - Hosted at https://github.com/SolidEdgeCommunity/SDK. 40 | - You are welcome to modify this file as needed. 41 | - Any changes you make will be lost if you manually update from the GitHub repository. -------------------------------------------------------------------------------- /samples/addin/EmptyAddIn/cs/EmptyAddIn/MyAddIn.cs: -------------------------------------------------------------------------------- 1 | using SolidEdgeSDK.AddIn; 2 | using SolidEdgeSDK.InteropServices; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Runtime.InteropServices; 7 | 8 | // Please refer to Instructions.txt. 9 | namespace EmptyAddIn 10 | { 11 | // MUST UPDATE MyConstants.cs! 12 | [Guid(MyConstants.AddInGuid), ProgId(MyConstants.AddInProgId), ComVisible(true)] 13 | [AddInImplementedCategory(CATID.SolidEdgeAddIn)] 14 | [AddInEnvironmentCategory(CATID.SEApplication)] 15 | [AddInEnvironmentCategory(CATID.SEAllDocumentEnvrionments)] 16 | [AddInCulture("en-US")] 17 | public class MyAddIn : SolidEdgeAddIn 18 | { 19 | #region SolidEdgeAddIn implementation 20 | 21 | public override void OnConnection(SolidEdgeFramework.SeConnectMode ConnectMode) 22 | { 23 | } 24 | 25 | public override void OnConnectToEnvironment(Guid EnvCatID, SolidEdgeFramework.Environment environment, bool firstTime) 26 | { 27 | } 28 | 29 | public override void OnDisconnection(SolidEdgeFramework.SeDisconnectMode DisconnectMode) 30 | { 31 | } 32 | 33 | #endregion 34 | 35 | #region Registration (regasm.exe) functions 36 | 37 | [ComRegisterFunction] 38 | static void OnComRegister(Type t) 39 | { 40 | if (Guid.Equals(t.GUID, typeof(MyAddIn).GUID)) 41 | { 42 | var implementedCategories = System.Attribute 43 | .GetCustomAttributes(t, typeof(AddInImplementedCategoryAttribute)) 44 | .Cast() 45 | .Select(a => a.Value) 46 | .ToArray(); 47 | 48 | var environmentCategories = System.Attribute 49 | .GetCustomAttributes(t, typeof(AddInEnvironmentCategoryAttribute)) 50 | .Cast() 51 | .Select(a => a.Value) 52 | .ToArray(); 53 | 54 | var cultures = System.Attribute 55 | .GetCustomAttributes(t, typeof(AddInCultureAttribute)) 56 | .Cast() 57 | .Select(a => a.Value); 58 | 59 | var descriptors = cultures 60 | .Select(culture => new AddInDescriptor(culture, typeof(Properties.Resources))) 61 | .ToArray(); 62 | 63 | var settings = new ComRegistrationSettings(t) 64 | { 65 | Enabled = true, 66 | ImplementedCategories = implementedCategories, 67 | EnvironmentCategories = environmentCategories, 68 | Descriptors = descriptors 69 | }; 70 | 71 | ComRegisterSolidEdgeAddIn(settings); 72 | } 73 | } 74 | 75 | [ComUnregisterFunction] 76 | static void OnComUnregister(Type t) 77 | { 78 | if (Guid.Equals(t.GUID, typeof(MyAddIn).GUID)) 79 | { 80 | ComUnregisterSolidEdgeAddIn(t); 81 | } 82 | } 83 | 84 | #endregion 85 | } 86 | } -------------------------------------------------------------------------------- /samples/addin/EmptyAddIn/cs/EmptyAddIn/MyConstants.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace EmptyAddIn 7 | { 8 | static class MyConstants 9 | { 10 | /// 11 | /// Unique GUID for the addin. 12 | /// 13 | /// 14 | /// You must generate a new unique GUID for your addin. 15 | /// 16 | /// 17 | /// 7EC6031B-F90B-4AE2-8999-40EFED6664BB 18 | /// 19 | public const string AddInGuid = "7EC6031B-F90B-4AE2-8999-40EFED6664BB"; 20 | 21 | /// 22 | /// Unique PROGID for the addin. 23 | /// 24 | /// 25 | /// You must specify a unique PROGID for your addin. 26 | /// 27 | public const string AddInProgId = "SolidEdgeCommunity.EmptyAddIn"; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /samples/addin/EmptyAddIn/cs/EmptyAddIn/Native.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/EmptyAddIn/cs/EmptyAddIn/Native.rc -------------------------------------------------------------------------------- /samples/addin/EmptyAddIn/cs/EmptyAddIn/Native.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/SDK/186390fe029fe7ec545b1a4db67bee0619059cbe/samples/addin/EmptyAddIn/cs/EmptyAddIn/Native.res -------------------------------------------------------------------------------- /samples/addin/EmptyAddIn/cs/EmptyAddIn/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("EmptyAddIn")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("EmptyAddIn")] 13 | [assembly: AssemblyCopyright("Copyright © 2020")] 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("8692b005-b856-4452-9592-470e3ec75aad")] 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("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /samples/addin/EmptyAddIn/cs/EmptyAddIn/Properties/Resources.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 EmptyAddIn.Properties { 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", "16.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 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 Resources() { 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("EmptyAddIn.Properties.Resources", typeof(Resources).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 | /// Looks up a localized string similar to Solid Edge Community EmptyAddIn (C#). 65 | /// 66 | internal static string AddInDescription { 67 | get { 68 | return ResourceManager.GetString("AddInDescription", resourceCulture); 69 | } 70 | } 71 | 72 | /// 73 | /// Looks up a localized string similar to Solid Edge Community EmptyAddIn (C#). 74 | /// 75 | internal static string AddInSummary { 76 | get { 77 | return ResourceManager.GetString("AddInSummary", resourceCulture); 78 | } 79 | } 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /samples/addin/EmptyAddIn/cs/EmptyAddIn/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | Solid Edge Community EmptyAddIn (C#) 122 | 123 | 124 | Solid Edge Community EmptyAddIn (C#) 125 | 126 | -------------------------------------------------------------------------------- /samples/addin/EmptyAddIn/cs/EmptyAddIn/Registration.bat: -------------------------------------------------------------------------------- 1 | :: If you are changing bin\Debug\ to something like ..\..\..\MyProduct, 2 | :: you are probably doing it wrong and this script will not work for you. 3 | 4 | :: Execute WHERE RegAsm.exe from a command prompt like the Developer Command Prompt for VS 2019. 5 | :: It will return C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe which is the 32 bit version. 6 | :: Using the 32 bit version of RegAsm.exe will not correctly register your addin for modern Solid Edge (x64). 7 | :: %SystemRoot%\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe is the 64 bit version and is the correct 8 | :: version for registering modern Solid Edge AddIns. 9 | 10 | @echo off 11 | 12 | :: Update to match as necessary. 13 | set ASSEMBLY_NAME=EmptyAddIn 14 | 15 | :: If you left alone, this will resolve to the correct path. 16 | set ADDIN_PATH="%~dp0bin\Debug\%ASSEMBLY_NAME%.dll" 17 | 18 | :: set REGASM_X32="%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe" 19 | set REGASM_X64="%SystemRoot%\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe" 20 | 21 | CLS 22 | 23 | WHOAMI /Groups | FIND "S-1-16-12288" >NUL 24 | IF ERRORLEVEL 1 ( 25 | ECHO This batch file requires elevated privileges. 26 | EXIT /B 1 27 | ) 28 | 29 | :menu 30 | echo [Options] 31 | echo 1 Register %ADDIN_PATH% 32 | echo 2 Unregister %ADDIN_PATH% 33 | echo 3 Quit 34 | 35 | :choice 36 | set /P C=Enter selection: 37 | if "%C%"=="1" goto register 38 | if "%C%"=="2" goto unregister 39 | if "%C%"=="3" goto end 40 | goto choice 41 | 42 | :register 43 | echo. 44 | %REGASM_X64% /codebase %ADDIN_PATH% 45 | goto end 46 | 47 | :unregister 48 | echo. 49 | %REGASM_X64% /u %ADDIN_PATH% 50 | goto end 51 | 52 | :end 53 | -------------------------------------------------------------------------------- /tools/ResetUserSettings.bat: -------------------------------------------------------------------------------- 1 | reg delete "HKEY_CURRENT_USER\Software\Siemens\Solid Edge" /f 2 | rmdir "%APPDATA%\Siemens\Solid Edge" /s /q 3 | --------------------------------------------------------------------------------