From d122c96def1d4ef1428419bb227dd4bd84d3f0eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=91=E5=82=B2=E5=B4=96-=E5=BF=98=E9=9C=84?= <702099480@qq.com> Date: Tue, 26 Nov 2024 16:33:22 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=88=9B=E5=BB=BACAD=E4=BA=8C=E6=AC=A1?= =?UTF-8?q?=E5=BC=80=E5=8F=91=E9=A1=B9=E7=9B=AE=E6=A8=A1=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CADSecondDevelop/CADSDTemplate.png | Bin 0 -> 35056 bytes CADSecondDevelop/CADSecondDevelop.csproj | 40 ++++ CADSecondDevelop/CADSecondDevelop.sln | 25 ++ CADSecondDevelop/readme.md | 15 ++ .../.template.config/CADSDTemplate.png | Bin 0 -> 35056 bytes .../.template.config/template.json | 52 +++++ .../CADSecondDevelopTemplate.csproj | 56 +++++ .../CADSecondDevelopTemplate/CadCmds.cs | 27 +++ .../CADSecondDevelopTemplate/GlobalUsing.cs | 213 ++++++++++++++++++ .../Models/MainModel.cs | 6 + .../PlugInApplication.cs | 18 ++ .../ViewModels/MainViewModel.cs | 15 ++ .../CADSecondDevelopTemplate/Views/Main.xaml | 47 ++++ .../Views/Main.xaml.cs | 13 ++ 14 files changed, 527 insertions(+) create mode 100644 CADSecondDevelop/CADSDTemplate.png create mode 100644 CADSecondDevelop/CADSecondDevelop.csproj create mode 100644 CADSecondDevelop/CADSecondDevelop.sln create mode 100644 CADSecondDevelop/readme.md create mode 100644 CADSecondDevelop/templates/CADSecondDevelopTemplate/.template.config/CADSDTemplate.png create mode 100644 CADSecondDevelop/templates/CADSecondDevelopTemplate/.template.config/template.json create mode 100644 CADSecondDevelop/templates/CADSecondDevelopTemplate/CADSecondDevelopTemplate.csproj create mode 100644 CADSecondDevelop/templates/CADSecondDevelopTemplate/CadCmds.cs create mode 100644 CADSecondDevelop/templates/CADSecondDevelopTemplate/GlobalUsing.cs create mode 100644 CADSecondDevelop/templates/CADSecondDevelopTemplate/Models/MainModel.cs create mode 100644 CADSecondDevelop/templates/CADSecondDevelopTemplate/PlugInApplication.cs create mode 100644 CADSecondDevelop/templates/CADSecondDevelopTemplate/ViewModels/MainViewModel.cs create mode 100644 CADSecondDevelop/templates/CADSecondDevelopTemplate/Views/Main.xaml create mode 100644 CADSecondDevelop/templates/CADSecondDevelopTemplate/Views/Main.xaml.cs diff --git a/CADSecondDevelop/CADSDTemplate.png b/CADSecondDevelop/CADSDTemplate.png new file mode 100644 index 0000000000000000000000000000000000000000..a504da16f5cd9a414ff98f3a5955bba83c73edc7 GIT binary patch literal 35056 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 + + Template + 1.0.0 + CAD.SecondDevelop.Template + CAD SecondDevelop Template + InspireFunction + vicwjb + InspireFunction + Templates to use when creating an library with IFoxCAD. + dotnet-new;templates;library;ifox;SecondDevelop + MIT + true + https://gitee.com/inspirefunction/ifoxcad + https://gitee.com/inspirefunction/ifoxcad.git + git + netstandard2.0 + true + false + content + $(NoWarn);NU5128 + true + readme.md + CADSDTemplate.png + + + + + + + + + + + True + \ + + + + diff --git a/CADSecondDevelop/CADSecondDevelop.sln b/CADSecondDevelop/CADSecondDevelop.sln new file mode 100644 index 0000000..fc95a7e --- /dev/null +++ b/CADSecondDevelop/CADSecondDevelop.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35431.28 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CADSecondDevelop", "CADSecondDevelop.csproj", "{CB286D0F-AF94-420F-AFE8-665A4DF72A5F}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CB286D0F-AF94-420F-AFE8-665A4DF72A5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CB286D0F-AF94-420F-AFE8-665A4DF72A5F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CB286D0F-AF94-420F-AFE8-665A4DF72A5F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CB286D0F-AF94-420F-AFE8-665A4DF72A5F}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {7B4D18FB-59CF-4666-9AAB-8D5E2DC7E5F4} + EndGlobalSection +EndGlobal diff --git a/CADSecondDevelop/readme.md b/CADSecondDevelop/readme.md new file mode 100644 index 0000000..58f0022 --- /dev/null +++ b/CADSecondDevelop/readme.md @@ -0,0 +1,15 @@ +适用于IFoxCad 0.7版本的项目模板。 + +在命令行里运行如下命令安装: + +dotnet new install IFoxCad.Templates::0.7.1 + +此模板支持创建autocad,zwcad,gstarcad的项目。 + +可以在vs里直接选择项目的类型。也可以用命令行创建。 + +dotnet new ifox.0.7 -C acad -n acadtest // 创建autocad项目,并将项目命名为acadtest + +dotnet new ifox.0.7 -C zcad -n zcadtest // 创建zwcad项目,并将项目命名为zcadtest + +dotnet new ifox.0.7 -C gcad -n gcadtest // 创建gstarcad项目,并将项目命名为gcadtest diff --git a/CADSecondDevelop/templates/CADSecondDevelopTemplate/.template.config/CADSDTemplate.png b/CADSecondDevelop/templates/CADSecondDevelopTemplate/.template.config/CADSDTemplate.png new file mode 100644 index 0000000000000000000000000000000000000000..a504da16f5cd9a414ff98f3a5955bba83c73edc7 GIT binary patch literal 35056 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 + + + net48 + + enable + + preview + + true + + true + + True + + True + + true + + False + + 1.0.0.* + + 1.0.0.0 + + MSB3270;CS1591;CS3021 + + + + acad + gcad + zcad + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CADSecondDevelop/templates/CADSecondDevelopTemplate/CadCmds.cs b/CADSecondDevelop/templates/CADSecondDevelopTemplate/CadCmds.cs new file mode 100644 index 0000000..81e0258 --- /dev/null +++ b/CADSecondDevelop/templates/CADSecondDevelopTemplate/CadCmds.cs @@ -0,0 +1,27 @@ +[assembly: CommandClass(typeof(CADSecondDevelopTemplate.CadCmds))] + +namespace CADSecondDevelopTemplate; + +public partial class CadCmds +{ + private PaletteSet? MainSet { get; set; } = null; + + [CommandMethod(nameof(HelloCAD), CommandFlags.Session | CommandFlags.UsePickSet)] + public void HelloCAD() + { + if (MainSet == null || MainSet.Visible == false) + { + MainSet = new PaletteSet("ToolBox"); + ElementHost host = new() + { + AutoSize = true, + Dock = DockStyle.Fill, + Child = new Main() + }; + MainSet.Add("Add ElementHost", host); + MainSet.Visible = true; + MainSet.Size = new System.Drawing.Size(254, 645); + MainSet.Dock = DockSides.Left; + } + } +} diff --git a/CADSecondDevelop/templates/CADSecondDevelopTemplate/GlobalUsing.cs b/CADSecondDevelop/templates/CADSecondDevelopTemplate/GlobalUsing.cs new file mode 100644 index 0000000..93bf39f --- /dev/null +++ b/CADSecondDevelop/templates/CADSecondDevelopTemplate/GlobalUsing.cs @@ -0,0 +1,213 @@ +#if (acad) +global using System; +global using System.Collections; +global using System.Collections.Generic; +global using System.IO; +global using System.Linq; +global using System.Text; +global using System.Reflection; +global using System.Text.RegularExpressions; +global using System.Linq.Expressions; + +global using Microsoft.Win32; + +global using System.ComponentModel; +global using System.Runtime.InteropServices; +global using System.Collections.Specialized; +global using System.Windows.Forms; +global using System.Windows.Forms.Integration; +global using System.Diagnostics; +global using System.Drawing; +global using System.Runtime.CompilerServices; +global using System.Threading; +global using System.Diagnostics.CodeAnalysis; + +global using Exception = System.Exception; +global using Registry = Microsoft.Win32.Registry; +global using RegistryKey = Microsoft.Win32.RegistryKey; + +global using System.Collections.ObjectModel; + +global using Microsoft.CSharp.RuntimeBinder; + +global using System.Web.Script.Serialization; + +global using Autodesk.AutoCAD.ApplicationServices; +global using Autodesk.AutoCAD.EditorInput; +global using Autodesk.AutoCAD.Colors; +global using Autodesk.AutoCAD.DatabaseServices; +global using Autodesk.AutoCAD.Geometry; +global using Autodesk.AutoCAD.Runtime; +global using Autodesk.AutoCAD.Windows; + +global using Acap = Autodesk.AutoCAD.ApplicationServices.Application; +global using Acaop = Autodesk.AutoCAD.ApplicationServices.Core.Application; +global using Acgi = Autodesk.AutoCAD.GraphicsInterface; + +global using Autodesk.AutoCAD.DatabaseServices.Filters; +global using Autodesk.AutoCAD; + +global using Autodesk.AutoCAD.GraphicsInterface; + +global using WorldDraw = Autodesk.AutoCAD.GraphicsInterface.WorldDraw; +global using Manager = Autodesk.AutoCAD.GraphicsSystem.Manager; +global using Group = Autodesk.AutoCAD.DatabaseServices.Group; +global using Viewport = Autodesk.AutoCAD.DatabaseServices.Viewport; +global using Polyline = Autodesk.AutoCAD.DatabaseServices.Polyline; +global using Cad_DwgFiler = Autodesk.AutoCAD.DatabaseServices.DwgFiler; +global using Cad_DxfFiler = Autodesk.AutoCAD.DatabaseServices.DxfFiler; +global using Cad_ErrorStatus = Autodesk.AutoCAD.Runtime.ErrorStatus; +global using Color = Autodesk.AutoCAD.Colors.Color; +global using AcException = Autodesk.AutoCAD.Runtime.Exception; + +global using IFoxCAD.Basal; +global using IFoxCAD.Cad; + +#region Project Using +global using CADSecondDevelopTemplate.Models; +global using CADSecondDevelopTemplate.ViewModels; +global using CADSecondDevelopTemplate.Views; +#endregion + +#region Nuget Using +global using CommunityToolkit.Mvvm.ComponentModel; +global using CommunityToolkit.Mvvm.Input; +global using Microsoft.Xaml.Behaviors; +global using Newtonsoft.Json; +#endregion +#elif (zcad) + +global using System; +global using System.Collections; +global using System.Collections.Generic; +global using System.Collections.ObjectModel; +global using System.Collections.Specialized; +global using System.ComponentModel; +global using System.Diagnostics; +global using System.Drawing; +global using System.IO; +global using System.Linq; +global using System.Linq.Expressions; +global using System.Reflection; +global using System.Runtime.CompilerServices; +global using System.Runtime.InteropServices; +global using System.Text; +global using System.Text.RegularExpressions; +global using System.Threading; +global using System.Web.Script.Serialization; +global using System.Windows.Forms; +global using System.Windows.Forms.Integration; +global using Microsoft.CSharp.RuntimeBinder; +global using Microsoft.Win32; +global using System.Diagnostics.CodeAnalysis; + +global using ZwSoft.ZwCAD; +global using ZwSoft.ZwCAD.ApplicationServices; +global using ZwSoft.ZwCAD.Colors; +global using ZwSoft.ZwCAD.DatabaseServices; +global using ZwSoft.ZwCAD.DatabaseServices.Filters; +global using ZwSoft.ZwCAD.EditorInput; +global using ZwSoft.ZwCAD.Geometry; + +global using ZwSoft.ZwCAD.GraphicsInterface; +global using ZwSoft.ZwCAD.Runtime; +global using ZwSoft.ZwCAD.Windows; +global using Registry = Microsoft.Win32.Registry; +global using RegistryKey = Microsoft.Win32.RegistryKey; +global using Exception = System.Exception; +global using Acap = ZwSoft.ZwCAD.ApplicationServices.Application; +global using Acaop = ZwSoft.ZwCAD.ApplicationServices.Application; +global using Cad_DwgFiler = ZwSoft.ZwCAD.DatabaseServices.DwgFiler; +global using Cad_DxfFiler = ZwSoft.ZwCAD.DatabaseServices.DxfFiler; +global using Group = ZwSoft.ZwCAD.DatabaseServices.Group; +global using Polyline = ZwSoft.ZwCAD.DatabaseServices.Polyline; +global using Viewport = ZwSoft.ZwCAD.DatabaseServices.Viewport; +global using WorldDraw = ZwSoft.ZwCAD.GraphicsInterface.WorldDraw; +global using Manager = ZwSoft.ZwCAD.GraphicsSystem.Manager; +global using Cad_ErrorStatus = ZwSoft.ZwCAD.Runtime.ErrorStatus; +global using Color = ZwSoft.ZwCAD.Colors.Color; +global using AcException = ZwSoft.ZwCAD.Runtime.Exception; + +#region Project Using +global using CADSecondDevelopTemplate.Models; +global using CADSecondDevelopTemplate.ViewModels; +global using CADSecondDevelopTemplate.Views; +#endregion + +#region Nuget Using +global using CommunityToolkit.Mvvm.ComponentModel; +global using CommunityToolkit.Mvvm.Input; +global using Microsoft.Xaml.Behaviors; +global using Newtonsoft.Json; +#endregion +#elif (gcad) + +global using GrxCAD; + +global using GrxCAD.ApplicationServices; +global using GrxCAD.Colors; +global using GrxCAD.DatabaseServices; +global using GrxCAD.DatabaseServices.Filters; +global using GrxCAD.EditorInput; +global using GrxCAD.Geometry; + +global using GrxCAD.GraphicsInterface; +global using GrxCAD.Internal; +global using GrxCAD.Runtime; +global using GrxCAD.Windows; + +global using System; +global using System.Collections; +global using System.Collections.Generic; +global using System.Collections.ObjectModel; +global using System.Collections.Specialized; +global using System.ComponentModel; +global using System.Diagnostics; +global using System.Drawing; +global using System.IO; +global using System.Linq; +global using System.Linq.Expressions; +global using System.Reflection; +global using System.Runtime.CompilerServices; +global using System.Runtime.InteropServices; +global using System.Text; +global using System.Text.RegularExpressions; +global using System.Threading; +global using System.Web.Script.Serialization; +global using System.Windows.Forms; +global using System.Windows.Forms.Integration; +global using Microsoft.CSharp.RuntimeBinder; +global using Microsoft.Win32; +global using System.Diagnostics.CodeAnalysis; + +global using Acap = GrxCAD.ApplicationServices.Application; +global using Acaop = GrxCAD.ApplicationServices.Application; +global using Cad_DwgFiler = GrxCAD.DatabaseServices.DwgFiler; +global using Cad_DxfFiler = GrxCAD.DatabaseServices.DxfFiler; +global using Group = GrxCAD.DatabaseServices.Group; +global using Polyline = GrxCAD.DatabaseServices.Polyline; +global using Viewport = GrxCAD.DatabaseServices.Viewport; +global using Acgi = GrxCAD.GraphicsInterface; +global using WorldDraw = GrxCAD.GraphicsInterface.WorldDraw; +global using Manager = GrxCAD.GraphicsSystem.Manager; +global using Cad_ErrorStatus = GrxCAD.Runtime.ErrorStatus; +global using Registry = Microsoft.Win32.Registry; +global using RegistryKey = Microsoft.Win32.RegistryKey; +global using Exception = System.Exception; +global using Color = GrxCAD.Colors.Color; +global using AcException = GrxCAD.Runtime.Exception; + +#region Project Using +global using CADSecondDevelopTemplate.Models; +global using CADSecondDevelopTemplate.ViewModels; +global using CADSecondDevelopTemplate.Views; +#endregion + +#region Nuget Using +global using CommunityToolkit.Mvvm.ComponentModel; +global using CommunityToolkit.Mvvm.Input; +global using Microsoft.Xaml.Behaviors; +global using Newtonsoft.Json; +#endregion +#endif + diff --git a/CADSecondDevelop/templates/CADSecondDevelopTemplate/Models/MainModel.cs b/CADSecondDevelop/templates/CADSecondDevelopTemplate/Models/MainModel.cs new file mode 100644 index 0000000..c81d4e8 --- /dev/null +++ b/CADSecondDevelop/templates/CADSecondDevelopTemplate/Models/MainModel.cs @@ -0,0 +1,6 @@ +namespace CADSecondDevelopTemplate.Models; +public partial class MainModel : ObservableObject +{ + [ObservableProperty] + private string textBoxText = ""; +} diff --git a/CADSecondDevelop/templates/CADSecondDevelopTemplate/PlugInApplication.cs b/CADSecondDevelop/templates/CADSecondDevelopTemplate/PlugInApplication.cs new file mode 100644 index 0000000..4d26e01 --- /dev/null +++ b/CADSecondDevelop/templates/CADSecondDevelopTemplate/PlugInApplication.cs @@ -0,0 +1,18 @@ +[assembly: ExtensionApplication(typeof(CADSecondDevelopTemplate.PlugInApplication))] +namespace CADSecondDevelopTemplate; +public class PlugInApplication : IExtensionApplication +{ + public void Initialize() + { + Acap.DocumentManager.MdiActiveDocument.Editor.WriteMessage("\nloading...\n"); + + // 如果需要将程序的目录加入信任路径,将下行代码取消注释 + // AppendSupportPath(CurrentDirectory.FullName); + } + + public void Terminate() + { + // 这里不能调用输出函数,因为这个函数执行的时候,已经没有editor对象了。 + // 所以如果不是想要在cad关闭的时候清理某些东西,这里不用写任何的代码。 + } +} diff --git a/CADSecondDevelop/templates/CADSecondDevelopTemplate/ViewModels/MainViewModel.cs b/CADSecondDevelop/templates/CADSecondDevelopTemplate/ViewModels/MainViewModel.cs new file mode 100644 index 0000000..99dce31 --- /dev/null +++ b/CADSecondDevelop/templates/CADSecondDevelopTemplate/ViewModels/MainViewModel.cs @@ -0,0 +1,15 @@ +namespace CADSecondDevelopTemplate.ViewModels; + +public partial class MainViewModel : ObservableObject +{ + public static MainViewModel Default => new(); + + [ObservableProperty] + private MainModel mModel = new(); + + [RelayCommand] + private void ButtonClick(string name) + { + MModel.TextBoxText = name; + } +} diff --git a/CADSecondDevelop/templates/CADSecondDevelopTemplate/Views/Main.xaml b/CADSecondDevelop/templates/CADSecondDevelopTemplate/Views/Main.xaml new file mode 100644 index 0000000..17fd576 --- /dev/null +++ b/CADSecondDevelop/templates/CADSecondDevelopTemplate/Views/Main.xaml @@ -0,0 +1,47 @@ + + + + + + + + + + + diff --git a/CADSecondDevelop/templates/CADSecondDevelopTemplate/Views/Main.xaml.cs b/CADSecondDevelop/templates/CADSecondDevelopTemplate/Views/Main.xaml.cs new file mode 100644 index 0000000..3e8bcda --- /dev/null +++ b/CADSecondDevelop/templates/CADSecondDevelopTemplate/Views/Main.xaml.cs @@ -0,0 +1,13 @@ +namespace CADSecondDevelopTemplate.Views; + +/// +/// Main.xaml 的交互逻辑 +/// +public partial class Main : System.Windows.Controls.UserControl +{ + public Main() + { + InitializeComponent(); + this.DataContext = MainViewModel.Default; + } +} -- Gitee From 11883fdbff78d82a29a3226039060559a882fc2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=91=E5=82=B2=E5=B4=96-=E5=BF=98=E9=9C=84?= <702099480@qq.com> Date: Wed, 27 Nov 2024 08:51:23 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CADSecondDevelop/readme.md | 56 ++++++++++++++++++++++++++++++++------ 1 file changed, 48 insertions(+), 8 deletions(-) diff --git a/CADSecondDevelop/readme.md b/CADSecondDevelop/readme.md index 58f0022..084fa57 100644 --- a/CADSecondDevelop/readme.md +++ b/CADSecondDevelop/readme.md @@ -1,15 +1,55 @@ -适用于IFoxCad 0.7版本的项目模板。 +适用于CAD二次开发的项目模板。 -在命令行里运行如下命令安装: +安装准备: -dotnet new install IFoxCad.Templates::0.7.1 +- Visual Studio: -此模板支持创建autocad,zwcad,gstarcad的项目。 + - 打开==开发者 PowerShell==,打开方式: + 1. 视图 => 终端 + 2. 快捷键:==Ctrl + \`==(\`是Esc下面的按键) -可以在vs里直接选择项目的类型。也可以用命令行创建。 + - 在窗口定位到==CAD.SecondDevelop.Template.1.0.0.nupkg==文件所在的目录 -dotnet new ifox.0.7 -C acad -n acadtest // 创建autocad项目,并将项目命名为acadtest + ``` + PS D:\CADSecondDevelop> + ``` -dotnet new ifox.0.7 -C zcad -n zcadtest // 创建zwcad项目,并将项目命名为zcadtest + 输入:==CD .\bin\Debug== -dotnet new ifox.0.7 -C gcad -n gcadtest // 创建gstarcad项目,并将项目命名为gcadtest + ``` + PS D:\CADSecondDevelop> CD .\bin\Debug + ``` + 回车 + ``` + PS D:\CADSecondDevelop\bin\Debug> + ``` + +- 命令提示符: + + - 打开==CAD.SecondDevelop.Template.1.0.0.nupkg==文件所在的目录 + - 在路径框内点击选中全部路径后,输入CMD,回车。 + - 确保显示路径为==CAD.SecondDevelop.Template.1.0.0.nupkg==文件所在目录,具体设置参考Visual Studio所述 + +使用==dotnet==工具安装: + +- ``` + dotnet new install CAD.SecondDevelop.Template.CSharp.0.1 + ``` + +- `如果提示:'dotnet' 不是内部或外部命令,也不是可运行的程序或批处理文件。` + +- 将`dotnet.exe`所在路径添加到系统环境变量`Path`中 + +此模板支持创建`AutoCAD`,`ZWCAD`,`GstarCAD`的项目。 + +1. 可以在vs里直接选择项目的类型。也可以用命令行创建。 + +- `dotnet new CADSD.0.1 -C acad -n acadtest` // 创建AutoCAD项目,并将项目命名为acadtest + +- `dotnet new CADSD.0.1 -C zcad -n zcadtest` // 创建ZWCAD项目,并将项目命名为zcadtest + +- `dotnet new CADSD.0.1 -C gcad -n gcadtest` // 创建GstarCAD项目,并将项目命名为gcadtest + +2. 卸载模版 + +- `dotnet new uninstall`,后命令行会显示你所有安装的可卸载模版,每个模版下部都有卸载命令,按命令执行即可 -- Gitee From 5b814e634e79347e14aeab0bc39502dc6c6567da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=91=E5=82=B2=E5=B4=96-=E5=BF=98=E9=9C=84?= <702099480@qq.com> Date: Wed, 27 Nov 2024 12:55:51 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CADSecondDevelop/CADSecondDevelop.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CADSecondDevelop/CADSecondDevelop.csproj b/CADSecondDevelop/CADSecondDevelop.csproj index d44b711..f4b6a9a 100644 --- a/CADSecondDevelop/CADSecondDevelop.csproj +++ b/CADSecondDevelop/CADSecondDevelop.csproj @@ -1,7 +1,7 @@  Template - 1.0.0 + 0.0.1 CAD.SecondDevelop.Template CAD SecondDevelop Template InspireFunction -- Gitee From f10bcc95f58328855181b90664436ad68d9c862f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=91=E5=82=B2=E5=B4=96-=E5=BF=98=E9=9C=84?= <702099480@qq.com> Date: Wed, 27 Nov 2024 13:24:26 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=9B=B4=E6=96=B0Url?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CADSecondDevelop/CADSecondDevelop.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CADSecondDevelop/CADSecondDevelop.csproj b/CADSecondDevelop/CADSecondDevelop.csproj index f4b6a9a..6cafeb8 100644 --- a/CADSecondDevelop/CADSecondDevelop.csproj +++ b/CADSecondDevelop/CADSecondDevelop.csproj @@ -11,8 +11,8 @@ dotnet-new;templates;library;ifox;SecondDevelop MIT true - https://gitee.com/inspirefunction/ifoxcad - https://gitee.com/inspirefunction/ifoxcad.git + https://gitee.com/inspirefunction/ifoxcadtemplate + https://gitee.com/inspirefunction/ifoxcadtemplate.git git netstandard2.0 true -- Gitee