AutoCAD.Net/C#.Net QQ群:193522571 从已有cuix中导入工作经典空间

[CommandMethod("cloneWS")]
public void cloneWorkSpace()
{
    try
    {
        string sourceCuiFileName = @"C:\TEST.CUIX";
        if (!File.Exists(sourceCuiFileName)) return;

        string curCuiFileName = Application.GetSystemVariable("MENUNAME").ToString() + ".cuix";
        CustomizationSection curCui = new CustomizationSection(curCuiFileName);
        CustomizationSection sourceCui = new CustomizationSection(sourceCuiFileName);

        string workspaceName = "test1";

        WorkspaceCollection curWorkspaces = curCui.Workspaces;
        int curWsIdx = curWorkspaces.IndexOfWorkspaceName(workspaceName);

        // test1 already exists, so just return
        // cloning overwrites the existing Workspace
        if (curWsIdx != -1) return;

        Workspace newWs = sourceCui.getWorkspace(workspaceName);

        ContainerCloneAction containerClnAction = new ContainerCloneAction();
        Workspace ws = curWorkspaces[0];
        curWorkspaces.Clone(newWs, ws, ref containerClnAction);

        if (curCui.IsModified)
        {
            curCui.Save();
        }
    }
    catch (Autodesk.AutoCAD.Runtime.Exception e)
    {
        Application.ShowAlertDialog("AutoCAD exception:\n" + e.Message);
        return;
    }
}

原文地址:https://www.cnblogs.com/swtool/p/11669773.html

时间: 2024-11-09 16:20:01

AutoCAD.Net/C#.Net QQ群:193522571 从已有cuix中导入工作经典空间的相关文章

AutoCAD.Net/C#.Net QQ群:193522571 从已有A.DWG中复制块BLK到新DWG中的方法

1.新建一个Database,new Database(true, false); 2.以A.DWG为原型新建一个Database,new Database(false,true); 3.将2中的块表记录复制到1的块表中: 4.新建一个块参照,new BlockReference(blockReferencePoint, blocoId); 5.插入到1的Database中,InsertBlockReference(db, blockReference); 对于已有的DWG:new Databa

AutoCAD.Net/C#.Net QQ群:193522571 LinQ 已知字段名的字符串如何从一个表中取得这个字符串对应字段的所有记录

代码如下: 其中cbFace.Text为字段名,TableFace为表名 var PnFace = (from n in TableFace select n.GetType().GetProperty(cbFace.Text).GetValue(n, null)); 如果需要将获取的结果进行强制转换可以在select后的字段前加上转换语句 var PnFace = (from n in TableFace select (double)n.GetType().GetProperty(cbFac

AutoCAD.Net/C#.Net QQ群:193522571 previewicon生成的块图标太小,CMLContentSearchPreviews生成大的图片

由于CMLContentSearchPreviews方法是AutoCAD2014中才加入的,所以只能应用于2014及以后版本,可惜啊! using System.IO; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.Runtime; using Autode

AutoCAD.Net/C#.Net QQ群:193522571 删除编组(group) 尺寸线(dimension)

public void deleteDimension() { //定义数据库 Database db = HostApplicationServices.WorkingDatabase; //获取当前文件 Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument; //获取当前命令行对象 Editor ed = Autodesk.AutoCAD.Applic

AutoCAD.Net/C#.Net QQ群:193522571 多个框架共一套代码在进行迁移时的问题,properties,resource,未能加载文件或程序集“System.Drawing, Version=4.0.0.0

此时在3.5框架工程中会出现 [未能加载文件或程序集“System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项.系统找不到指定的文件. 行 123,位置 5.] 的错误,解决办法是将4.0.0.0改成2.0.0.0.如下面的代码. 另外,在namespace进行了修改后需要将“原命名空间.properties.resource ”改成“现在的命名空间.properties

AutoCAD.Net/C#.Net QQ群:193522571 System.Drawing.Color和AutoDesk.AutoCAD.Colors.Color互转

假如各自实例化后的Color分别为: SysColor和CadColor 那么 SysColor转AutoDesk.AutoCAD.Colors.Color为:Autodesk.AutoCAD.Colors.Color.FromColor(SysColor) CadColor转 System.Drawing.Color为:CadColor.ColorValue

AutoCAD.Net/C#.Net QQ群:193522571 resultbuffer 中的typedvalue

ResultBuffer中的TypedValue ,5005,5006,5009都代表什么类型? //运行命令 ResultBuffer rb = new ResultBuffer(); rb.Add(new TypedValue(5005, "_revcloud")); if (!cloudType) { rb.Add(new TypedValue(5005, "_s")); rb.Add(new TypedValue(5005, "_c"))

AutoCAD.Net/C#.Net QQ群:193522571 窗体不闪烁

public void MXBFY() { TranslateMxb Translate = new TranslateMxb(); FrmTranslateMxb frm = new FrmTranslateMxb(); CadBaseSet.RH.MoveBackWindows(frm); frm.Translate = Translate; Autodesk.AutoCAD.ApplicationServices.Application.ShowModalDialog(frm); if (

AutoCAD.Net/C#.Net QQ群:193522571 c#链接到网址

/// <summary> /// 链接到当前地址 /// </summary> /// <param name="URL"></param> public static void LinkTo(this string URL) { ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe"); startInfo.WindowStyle = Pro