Teigha.NET项目创建示例

ops/2024/10/10 21:59:05/

项目配置

Teigha_Net_4.00_10下载

  1. 创建.NET Framework 4.7.2控制台应用项目。
  2. Teigha_Net_4.00_10文件夹复制到项目Debug文件夹内。
  3. 在项目的App.config文件中配置Teigha_Net_4.00_10文件夹路径(这样就无需把Teigha_Net_4.00_10里面的文件全部复制到Debug文件夹,使得Debug文件夹内文件组织更加简洁清晰)
<?xml version="1.0" encoding="utf-8" ?>
<configuration><startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /></startup><runtime><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><probing privatePath="Teigha_Net_4.00_10" /></assemblyBinding></runtime>
</configuration>
  1. 在项目引用中添加Debug/Teigha_Net_4.00_10中以下两个dll,并将其“复制本地”属性修改为False
  • Teigha_Net_4.00_10.dll
  • TD_MgdBrep_4.00_10.dll

示例代码

  1. 测试代码(用于创建一个dwg,里面包含一条线段)
using System;
using Teigha.DatabaseServices;
using Teigha.Geometry;
using Teigha.Runtime;namespace TestTeigha
{internal class Program{static void Main(string[] args){TestCreateDwg();}public static void TestCreateDwg(){using (var service = new Services()){using (var db = new Database(true, true)){var line = new Line(new Point3d(0, 0, 0), new Point3d(100, 100, 0));using (var tran = db.TransactionManager.StartTransaction()){BlockTable blockTable = tran.GetObject(db.BlockTableId, OpenMode.ForWrite) as BlockTable;BlockTableRecord btr = tran.GetObject(blockTable[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;btr.AppendEntity(line);tran.AddNewlyCreatedDBObject(line, true);tran.Commit();}var path = DateTime.Now.ToString("yyyy-MM-dd hh-mm-ss") + ".dwg";db.SaveAs(path, DwgVersion.AC1021);}}}}
}

在这里插入图片描述

注意:

  • Debug文件夹中的TestTeigha.exe.config不能删除,因为里面记录了Teigha_Net_4.00_10的路径,删除后则报错说找不到Teigha_Net_4.00_10程序集。
  • 若生成Release版本,则也需要将Teigha_Net_4.00_10文件夹复制到Release文件夹内。

http://www.ppmy.cn/ops/123665.html

相关文章

python交互式命令时如何清除

在交互模式中使用Python&#xff0c;如果要清屏&#xff0c;可以import os&#xff0c;通过os.system()来调用系统命令clear或者cls来实现清屏。 [python] view plain copy print? >>> import os >>> os.system(clear) 但是此时shell中的状态是&#xff1a;…

VUE2常见问题以及解决方案汇总(不断更新中)

解决vue项目中 el-table 的 row-click 事件与行内点击事件冲突&#xff0c;点击事件不生效&#xff08;表格行点击事件和行内元素点击事件冲突&#xff09;需要阻止事件冒泡 问题描述 1.点击列的编辑按钮&#xff0c;会触发按钮本身事件&#xff0c;同时会触发行点击事件 2.点…

汽车网关(GW)技术分析

一、引言 在现代汽车电子系统中&#xff0c;汽车网关&#xff08;Gateway&#xff0c;简称 GW&#xff09;扮演着至关重要的角色。随着汽车电子技术的不断发展&#xff0c;汽车内部的电子控制单元&#xff08;Electronic Control Unit&#xff0c;简称 ECU&#xff09;数量不断…

Redis: 集群测试和集群原理

集群测试 1 ) SET/GET 命令 测试 set 和 get 因为其他命令也基本相似&#xff0c;我们在 101 节点上尝试连接 103 $ /usr/local/redis/bin/redis-cli -c -a 123456 -h 192.168.10.103 -p 6376我们在插入或读取一个 key的时候&#xff0c;会对这个key做一个hash运算&#xff0c…

pnpm设置镜像源

# 查询当前使用的镜像源 pnpm get registry# 设置为淘宝镜像源 pnpm config set registry https://registry.npmmirror.com/# 还原为官方镜像源 pnpm config set registry https://registry.npmjs.org/参考链接 https://blog.csdn.net/weixin_45046532/article/details/139681…

UGUI(三大现成UI控件)

Rawimage 可以是任意类型的图&#xff0c;所以这里的泛型就更宽泛&#xff0c;不止sprite 相比Image唯二的不同 uvrect有点像平铺 Text suddenly come to a Free island. best fit开启后会有范围选择 Image image 组件是挂在RectTransform的ui下的&#xff0c;换句话说&…

安卓上的iso 是哪几个gain 相乘

在安卓的相机系统中&#xff0c;ISO 表示感光度&#xff0c;它实际上反映的是图像传感器对光线的整体响应度。ISO 值的调整可以通过增益&#xff08;gain&#xff09;的调节实现&#xff0c;增益会放大传感器采集的信号强度。通常&#xff0c;ISO 是通过以下几种增益相乘得到的…

测试用例的进阶二

1. 按开发阶段划分 1.1 测试金字塔 从上到下&#xff0c;对于测试人员代码就是要求越来越低&#xff1b; 从下到上&#xff0c;越来越靠近用户&#xff1b; 从下到上&#xff0c;定位问题的成本越来越高&#xff1b; 1.2 单元测试(Unit Testing) 单元测试是对软件组成单元进…