Skip to content

Commit 7be0cf4

Browse files
committed
v 0.4.0
Merge branch 'dev' # Conflicts: # Installer/Installer.wixproj # Installer/Product.wxs # README.md # Sw/AddIn.cs # Sw/Base/GeometryMacroFeature.cs # Sw/Core/AboutCommandSpec.cs # Sw/Core/GeometryFeatureCommandSpec.cs # Sw/Core/GeometryFeaturesCommandGroupSpec.cs # Sw/Core/PropertyPage.cs # Sw/Exceptions/UserErrorException.cs # Sw/Features/BodiesFillet/BodiesFilletDataModel.cs # Sw/Features/BodiesFillet/BodiesFilletMacroFeature.cs # Sw/Features/CropBodies/CropBodiesDataModel.cs # Sw/Features/CropBodies/CropBodiesMacroFeature.cs # Sw/Features/ExtrudeSurfaceCap/ExtrudeSurfaceCapDataModel.cs # Sw/Features/ExtrudeSurfaceCap/ExtrudeSurfaceCapMacroFeature.cs # Sw/Features/SolidToSurface/SolidToSurfaceDataModel.cs # Sw/Features/SolidToSurface/SolidToSurfaceMacroFeature.cs # Sw/Features/SplitBodyByFaces/SplitBodyByFacesDataModel.cs # Sw/Features/SplitBodyByFaces/SplitBodyByFacesMacroFeature.cs # Sw/Properties/AssemblyInfo.cs # Sw/Properties/Resources.Designer.cs # Sw/Properties/Resources.resx # Sw/ServicesContainer.cs # Sw/geometry-plus-plus.csproj # Sw/packages.config
2 parents f4dbb24 + 9812429 commit 7be0cf4

36 files changed

+638
-154
lines changed

CodeMaid.config

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<configuration>
3+
<configSections>
4+
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
5+
<section name="SteveCadwallader.CodeMaid.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
6+
</sectionGroup>
7+
</configSections>
8+
<userSettings>
9+
<SteveCadwallader.CodeMaid.Properties.Settings>
10+
<setting name="Cleaning_UpdateFileHeaderCSharp" serializeAs="String">
11+
<value>//**********************
12+
//Geometry++ - Advanced geometry commands for SOLIDWORKS
13+
//Copyright(C) 2019 www.codestack.net
14+
//License: https://github.com/codestack-net-dev/geometry-plus-plus/blob/master/LICENSE
15+
//Product URL: https://www.codestack.net/labs/solidworks/geometry-plus-plus/
16+
//**********************
17+
</value>
18+
</setting>
19+
<setting name="Cleaning_UpdateEndRegionDirectives" serializeAs="String">
20+
<value>False</value>
21+
</setting>
22+
</SteveCadwallader.CodeMaid.Properties.Settings>
23+
</userSettings>
24+
</configuration>

Installer/AddInRegistry.wxs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
3+
<Fragment>
4+
<Component Id="AddInRegistry" Directory="INSTALLFOLDER" Guid="{74869559-1017-44C3-B0F1-5E0BDDC5AEAB}">
5+
<RegistryValue Root="HKCU" Key="Software\SolidWorks\AddInsStartup\{45B95E54-91F5-4043-BC30-20FD89CAB578}" Value="1" Type="integer" Action="write" />
6+
<RegistryValue Root="HKLM" Key="Software\SolidWorks\Addins\{45B95E54-91F5-4043-BC30-20FD89CAB578}" Value="0" Type="integer" Action="write" />
7+
<RegistryValue Root="HKLM" Key="Software\SolidWorks\Addins\{45B95E54-91F5-4043-BC30-20FD89CAB578}" Name="Description" Value="Additional geometry functionality for SOLIDWORKS" Type="string" Action="write" />
8+
<RegistryValue Root="HKLM" Key="Software\SolidWorks\Addins\{45B95E54-91F5-4043-BC30-20FD89CAB578}" Name="Title" Value="Geometry++" Type="string" Action="write" />
9+
</Component>
10+
</Fragment>
11+
</Wix>
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<xsl:stylesheet
3+
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4+
xmlns:wix="http://schemas.microsoft.com/wix/2006/wi"
5+
xmlns="http://schemas.microsoft.com/wix/2006/wi"
6+
version="1.0"
7+
exclude-result-prefixes="xsl wix">
8+
9+
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes" />
10+
11+
<xsl:strip-space elements="*" />
12+
13+
<xsl:key
14+
name="AddInToRemove"
15+
match="wix:Component[ wix:File/@Source = '$(var.SourceOutDir)\CodeStack.Community.GeometryPlusPlus.dll']"
16+
use="@Id" />
17+
18+
<xsl:key
19+
name="TlbToRemove"
20+
match="wix:Component[ substring( wix:File/@Source, string-length( wix:File/@Source ) - 3 ) = '.tlb' ]"
21+
use="@Id" />
22+
23+
<xsl:key
24+
name="XmlToRemove"
25+
match="wix:Component[ substring( wix:File/@Source, string-length( wix:File/@Source ) - 3 ) = '.xml' ]"
26+
use="@Id" />
27+
28+
<xsl:key
29+
name="PdbToRemove"
30+
match="wix:Component[ substring( wix:File/@Source, string-length( wix:File/@Source ) - 3 ) = '.pdb' ]"
31+
use="@Id" />
32+
33+
<xsl:template match="@*|node()">
34+
<xsl:copy>
35+
<xsl:apply-templates select="@*|node()" />
36+
</xsl:copy>
37+
</xsl:template>
38+
39+
<xsl:template match="*[ self::wix:Component or self::wix:ComponentRef ][ key( 'AddInToRemove', @Id ) ]" />
40+
<xsl:template match="*[ self::wix:Component or self::wix:ComponentRef ][ key( 'TlbToRemove', @Id ) ]" />
41+
<xsl:template match="*[ self::wix:Component or self::wix:ComponentRef ][ key( 'XmlToRemove', @Id ) ]" />
42+
<xsl:template match="*[ self::wix:Component or self::wix:ComponentRef ][ key( 'PdbToRemove', @Id ) ]" />
43+
</xsl:stylesheet>

Installer/Installer.wixproj

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,15 @@
2121
</PropertyGroup>
2222
<ItemGroup>
2323
<Compile Include="AddInReg.wxs" />
24+
<Compile Include="AddInRegistry.wxs" />
25+
<Compile Include="Files.wxs" />
2426
<Compile Include="Product.wxs" />
2527
</ItemGroup>
2628
<ItemGroup>
2729
<Folder Include="Resources" />
2830
</ItemGroup>
2931
<ItemGroup>
32+
<Content Include="DirectoryHeatTransform.xslt" />
3033
<Content Include="Resources\banner.bmp" />
3134
<Content Include="Resources\dialog.bmp" />
3235
<Content Include="Resources\eula.rtf" />
@@ -47,12 +50,8 @@
4750
<Target Name="EnsureWixToolsetInstalled" Condition=" '$(WixTargetsImported)' != 'true' ">
4851
<Error Text="The WiX Toolset v3.11 (or newer) build tools must be installed to build this project. To download the WiX Toolset, see http://wixtoolset.org/releases/" />
4952
</Target>
50-
<!--
51-
To modify your build process, add your task inside one of the targets below and uncomment it.
52-
Other similar extension points exist, see Wix.targets.
53-
<Target Name="BeforeBuild">
54-
</Target>
55-
<Target Name="AfterBuild">
56-
</Target>
57-
-->
53+
<Target Name="BeforeBuild">
54+
<HeatDirectory Directory="..\Build" Transforms="DirectoryHeatTransform.xslt" PreprocessorVariable="var.SourceOutDir" OutputFile="Files.wxs" ComponentGroupName="FilesRegGroup" DirectoryRefId="INSTALLFOLDER" AutogenerateGuids="true" ToolPath="$(WixToolPath)" SuppressFragments="true" SuppressRegistry="true" SuppressCom="true" SuppressRootDirectory="true" />
55+
<HeatFile File="..\Build\CodeStack.Community.GeometryPlusPlus.dll" PreprocessorVariable="var.SourceOutDir" OutputFile="AddInReg.wxs" ComponentGroupName="AddInComRegGroup" DirectoryRefId="INSTALLFOLDER" AutogenerateGuids="true" ToolPath="$(WixToolPath)" SuppressFragments="false" SuppressRegistry="false" SuppressCom="false" SuppressRootDirectory="true" />
56+
</Target>
5857
</Project>

Installer/Product.wxs

Lines changed: 6 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
3-
<Product Id="*" Name="Geometry++" Language="1033" Version="0.3.0.0" Manufacturer="CodeStack" UpgradeCode="{56083FFE-D237-4BC0-A853-BA1C65BC9F68}">
3+
<Product Id="*" Name="Geometry++" Language="1033" Version="0.4.0.0" Manufacturer="CodeStack" UpgradeCode="{56083FFE-D237-4BC0-A853-BA1C65BC9F68}">
44
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
55

66
<MajorUpgrade DowngradeErrorMessage="A newer version of Geometry++ is already installed." />
@@ -15,10 +15,11 @@
1515
<WixVariable Id="WixUIDialogBmp" Value="Resources\dialog.bmp" />
1616
<WixVariable Id="WixUILicenseRtf" Value="Resources\eula.rtf" />
1717

18-
<Feature Id="ProductFeature" Title="Setup" Level="1">
19-
<ComponentGroupRef Id="ProductComponents" />
20-
<ComponentGroupRef Id="AddInComRegGroup" />
21-
</Feature>
18+
<Feature Id="ProductFeature" Title="Setup" Level="1">
19+
<ComponentGroupRef Id="FilesRegGroup" />
20+
<ComponentGroupRef Id="AddInComRegGroup" />
21+
<ComponentRef Id="AddInRegistry"/>
22+
</Feature>
2223
</Product>
2324

2425
<Fragment>
@@ -30,40 +31,4 @@
3031
</Directory>
3132
</Directory>
3233
</Fragment>
33-
34-
<Fragment>
35-
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
36-
<Component Id="Reg" Guid="{74869559-1017-44C3-B0F1-5E0BDDC5AEAB}">
37-
<RegistryValue Root="HKCU" Key="Software\SolidWorks\AddInsStartup\{45B95E54-91F5-4043-BC30-20FD89CAB578}" Value="1" Type="integer" Action="write" />
38-
<RegistryValue Root="HKLM" Key="Software\SolidWorks\Addins\{45B95E54-91F5-4043-BC30-20FD89CAB578}" Value="0" Type="integer" Action="write" />
39-
<RegistryValue Root="HKLM" Key="Software\SolidWorks\Addins\{45B95E54-91F5-4043-BC30-20FD89CAB578}" Name="Description" Value="Additional geometry functionality for SOLIDWORKS" Type="string" Action="write" />
40-
<RegistryValue Root="HKLM" Key="Software\SolidWorks\Addins\{45B95E54-91F5-4043-BC30-20FD89CAB578}" Name="Title" Value="Geometry++" Type="string" Action="write" />
41-
</Component>
42-
<Component Id="interops" Guid="{DED8C037-EE62-4B2E-B67E-98B6C3C6251D}">
43-
<File Id="SolidWorks.Interop.sldworks.dllID" Name="SolidWorks.Interop.sldworks.dll" Source="$(var.SourceOutDir)\SolidWorks.Interop.sldworks.dll" />
44-
<File Id="SolidWorks.Interop.swconst.dllID" Name="SolidWorks.Interop.swconst.dll" Source="$(var.SourceOutDir)\SolidWorks.Interop.swconst.dll" />
45-
<File Id="SolidWorks.Interop.swpublished.dllID" Name="SolidWorks.Interop.swpublished.dll" Source="$(var.SourceOutDir)\SolidWorks.Interop.swpublished.dll" />
46-
<File Id="SolidWorksTools.dllID" Name="SolidWorksTools.dll" Source="$(var.SourceOutDir)\SolidWorksTools.dll" />
47-
</Component>
48-
<Component Id="swex" Guid="{2929F250-EA8C-439F-A5E3-3A93A660A504}">
49-
<File Id="CodeStack.SwEx.AddIn.dllID" Name="CodeStack.SwEx.AddIn.dll" Source="$(var.SourceOutDir)\CodeStack.SwEx.AddIn.dll" />
50-
<File Id="CodeStack.SwEx.Common.dllID" Name="CodeStack.SwEx.Common.dll" Source="$(var.SourceOutDir)\CodeStack.SwEx.Common.dll" />
51-
<File Id="CodeStack.SwEx.MacroFeature.dllID" Name="CodeStack.SwEx.MacroFeature.dll" Source="$(var.SourceOutDir)\CodeStack.SwEx.MacroFeature.dll" />
52-
<File Id="CodeStack.SwEx.PMPage.dllID" Name="CodeStack.SwEx.PMPage.dll" Source="$(var.SourceOutDir)\CodeStack.SwEx.PMPage.dll" />
53-
</Component>
54-
<Component Id="xarial" Guid="{307CCEA0-70A4-43AA-8DB7-26A96A32D2C0}">
55-
<File Id="Xarial.VPages.Framework.dllID" Name="Xarial.VPages.Framework.dll" Source="$(var.SourceOutDir)\Xarial.VPages.Framework.dll" />
56-
<File Id="Xarial.Signal2Go.dllID" Name="Xarial.Signal2Go.dll" Source="$(var.SourceOutDir)\Xarial.Signal2Go.dll" />
57-
</Component>
58-
<Component Id="unity" Guid="{29D7AFE1-EB1D-475B-A42D-7DE5B0E1C7B7}">
59-
<File Id="Unity.Abstractions.dllID" Name="Unity.Abstractions.dll" Source="$(var.SourceOutDir)\Unity.Abstractions.dll" />
60-
<File Id="Unity.Configuration.dllID" Name="Unity.Configuration.dll" Source="$(var.SourceOutDir)\Unity.Configuration.dll" />
61-
<File Id="Unity.Container.dllID" Name="Unity.Container.dll" Source="$(var.SourceOutDir)\Unity.Container.dll" />
62-
<File Id="Unity.Interception.Configuration.dllID" Name="Unity.Interception.Configuration.dll" Source="$(var.SourceOutDir)\Unity.Interception.Configuration.dll" />
63-
<File Id="Unity.Interception.dllID" Name="Unity.Interception.dll" Source="$(var.SourceOutDir)\Unity.Interception.dll" />
64-
<File Id="Unity.RegistrationByConvention.dllID" Name="Unity.RegistrationByConvention.dll" Source="$(var.SourceOutDir)\Unity.RegistrationByConvention.dll" />
65-
<File Id="Unity.ServiceLocation.dllID" Name="Unity.ServiceLocation.dll" Source="$(var.SourceOutDir)\Unity.ServiceLocation.dll" />
66-
</Component>
67-
</ComponentGroup>
68-
</Fragment>
6934
</Wix>

README.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,10 @@ This command allows adding the fillet to entire bodies, faces, edges and vertice
2727
### Split Body By Faces
2828
![Split Body By Faces](https://www.codestack.net/labs/solidworks/geometry-plus-plus/user-guide/split-body-by-faces/icon.png)
2929

30-
This command allows creating of surface (sheet) bodies from all the faces of input solid or surface bodies.
30+
This command allows creating of surface (sheet) bodies from all the faces of input solid or surface bodies.
31+
32+
## Performance
33+
34+
![Suspend Rebuild](https://www.codestack.net/labs/solidworks/geometry-plus-plus/user-guide/suspend-rebuild/icon.png)
35+
36+
This command allows to temporary suspend the rebuild operation in SOLIDWORKS parts, assemblies and drawings allowing to combine multiple rebuild operations into one operation to reduce the rebuild time.

Sw/AddIn.cs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,21 @@
1-
using CodeStack.Community.GeometryPlusPlus.Core;
1+
//**********************
2+
//Geometry++ - Advanced geometry commands for SOLIDWORKS
3+
//Copyright(C) 2019 www.codestack.net
4+
//License: https://github.com/codestack-net-dev/geometry-plus-plus/blob/master/LICENSE
5+
//Product URL: https://www.codestack.net/labs/solidworks/geometry-plus-plus/
6+
//**********************
7+
8+
using CodeStack.Community.GeometryPlusPlus.Core;
29
using CodeStack.Community.GeometryPlusPlus.Features.BodiesFillet;
310
using CodeStack.Community.GeometryPlusPlus.Features.ExtrudeSurfaceCap;
411
using CodeStack.Community.GeometryPlusPlus.Features.SolidToSurface;
12+
using CodeStack.Community.GeometryPlusPlus.Performance.SuspendRebuild;
513
using CodeStack.Community.GeometryPlusPlus.Properties;
614
using CodeStack.SwEx.AddIn;
715
using CodeStack.SwEx.AddIn.Attributes;
8-
using CodeStack.SwEx.AddIn.Enums;
916
using CodeStack.SwEx.Common.Attributes;
1017
using System;
11-
using System.Collections.Generic;
12-
using System.ComponentModel;
13-
using System.Linq;
1418
using System.Runtime.InteropServices;
15-
using System.Text;
16-
using System.Threading;
17-
using System.Threading.Tasks;
18-
using Xarial.AppLaunchKit;
19-
using Xarial.AppLaunchKit.Base.Services;
20-
using Xarial.AppLaunchKit.Services.About;
21-
using Xarial.AppLaunchKit.Services.Logger;
22-
using Xarial.AppLaunchKit.Services.Updates;
2319

2420
namespace CodeStack.Community.GeometryPlusPlus
2521
{
@@ -37,11 +33,15 @@ public class AddIn : SwAddInEx
3733

3834
public override bool OnConnect()
3935
{
40-
m_Services = new ServicesContainer(App);
41-
36+
var docsHandler = CreateDocumentsHandler<SuspendRebuildDocumentHandler>();
37+
38+
m_Services = new ServicesContainer(App, docsHandler);
39+
4240
var cmdBar = m_Services.GetService<GeometryFeaturesCommandGroupSpec>();
41+
var perfCmdBar = m_Services.GetService<PerformanceCommandGroupSpec>();
4342

4443
this.AddCommandGroup(cmdBar);
44+
this.AddCommandGroup(perfCmdBar);
4545

4646
return true;
4747
}

Sw/Base/GeometryIcon.cs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
//**********************
2+
//Geometry++ - Advanced geometry commands for SOLIDWORKS
3+
//Copyright(C) 2019 www.codestack.net
4+
//License: https://github.com/codestack-net-dev/geometry-plus-plus/blob/master/LICENSE
5+
//Product URL: https://www.codestack.net/labs/solidworks/geometry-plus-plus/
6+
//**********************
7+
8+
using CodeStack.SwEx.AddIn.Icons;
9+
using System;
10+
using System.Collections.Generic;
11+
using System.Drawing;
12+
using System.Linq;
13+
using System.Text;
14+
using System.Threading.Tasks;
15+
16+
namespace CodeStack.Community.GeometryPlusPlus.Base
17+
{
18+
internal class GeometryIcon : MasterIcon
19+
{
20+
internal GeometryIcon(Image icon) : base(icon)
21+
{
22+
}
23+
}
24+
}

Sw/Base/GeometryMacroFeature.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
1-
using CodeStack.SwEx.MacroFeature;
1+
//**********************
2+
//Geometry++ - Advanced geometry commands for SOLIDWORKS
3+
//Copyright(C) 2019 www.codestack.net
4+
//License: https://github.com/codestack-net-dev/geometry-plus-plus/blob/master/LICENSE
5+
//Product URL: https://www.codestack.net/labs/solidworks/geometry-plus-plus/
6+
//**********************
7+
8+
using CodeStack.SwEx.MacroFeature;
29
using System;
310
using System.Collections.Generic;
411
using System.Linq;

Sw/Core/AboutCommandSpec.cs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
1-
using CodeStack.Community.GeometryPlusPlus.Properties;
1+
//**********************
2+
//Geometry++ - Advanced geometry commands for SOLIDWORKS
3+
//Copyright(C) 2019 www.codestack.net
4+
//License: https://github.com/codestack-net-dev/geometry-plus-plus/blob/master/LICENSE
5+
//Product URL: https://www.codestack.net/labs/solidworks/geometry-plus-plus/
6+
//**********************
7+
8+
using CodeStack.Community.GeometryPlusPlus.Base;
9+
using CodeStack.Community.GeometryPlusPlus.Properties;
210
using CodeStack.SwEx.AddIn.Core;
311
using CodeStack.SwEx.AddIn.Enums;
412
using CodeStack.SwEx.AddIn.Icons;
@@ -26,7 +34,7 @@ internal AboutCommandSpec(IAboutApplicationService abtService, int id)
2634
HasToolbar = false;
2735
HasTabBox = false;
2836
SupportedWorkspace = swWorkspaceTypes_e.All;
29-
Icon = new MasterIcon(Resources.about_icon);
37+
Icon = new GeometryIcon(Resources.about_icon);
3038
}
3139

3240
public override void OnClick()

0 commit comments

Comments
 (0)