明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1213|回复: 6

面域质心:Auto...T开发基础与.第二版2.8面域P/Invoke技术GetCentroid一调用CAD就关闭

[复制链接]
发表于 2015-4-26 17:19 | 显示全部楼层 |阅读模式
本帖最后由 Real_King 于 2015-4-26 17:27 编辑

AutoCADVBA&VB.NET开发基础与.第二版2.8面域P/Invoke技术GetCentroid的问题:
06 CAD 中,调用DotNetARX中的GetCentroid()获取质心,可一调用,CAD就自动关闭,到底是什么原因?难道是06cad版本问题?
另外
[DllImport("acdb17.dll", CallingConvention = CallingConvention.ThisCall, EntryPoint = "?getAreaProp@AcDbRegion@@UBE?AW4ErrorStatus@Acad@@ABVAcGePoint3d@@ABVAcGeVector3d@@1AAN2AAVAcGePoint2d@@QAN24QAVAcGeVector2d@@433@Z")]这一句是否动态引用acdb17.dll?
请大家指教,acdb17.dll 在哪个文件夹,如果不能通过上面的代码引用,我想直接在VS里添加引用,谢谢大家~


发表于 2015-4-26 18:00 来自手机 | 显示全部楼层
在autocad安装目录下 17对应2008?在外面 忘了 你要引用对应版本的
 楼主| 发表于 2015-4-26 18:17 | 显示全部楼层
本帖最后由 Real_King 于 2015-4-26 18:23 编辑
雪山飞狐_lzh 发表于 2015-4-26 18:00
在autocad安装目录下 17对应2008?在外面 忘了 你要引用对应版本的

飞狐大师,愿闻其详~我是06版cad的,貌似应该是16,
C:\Program Files (x86)\Common Files\Autodesk Shared\acdb16.dll
但是有问题

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2015-4-26 18:31 | 显示全部楼层
雪山飞狐_lzh 发表于 2015-4-26 18:00
在autocad安装目录下 17对应2008?在外面 忘了 你要引用对应版本的

1、从开始菜单中打开VS2010程序文件夹中Visual Studio Tools下的Visual Studio命令提示。
2、将目录切换到Autocad安装目录
3、运行dumpbin.exe/exports dllName 命令即可查看dllName这个文件中定义的C++函数重整名称。

第二步切换是怎么回事呢?请飞狐老师指点
发表于 2015-4-26 18:40 来自手机 | 显示全部楼层
直接运行depend.exe试试 没有就百度
发表于 2015-4-26 19:41 来自手机 | 显示全部楼层
http://forums.autodesk.com/t5/net/region-centroid/td-p/3193544
看看这里 有反射com对象的方法
 楼主| 发表于 2015-4-27 09:47 | 显示全部楼层
雪山飞狐_lzh 发表于 2015-4-26 19:41
http://forums.autodesk.com/t5/net/region-centroid/td-p/3193544
看看这里 有反射com对象的方法

Point3d centroid;
using (Solid3d solid = new Solid3d())
{
    solid.Extrude(region, 2.0, 0.0);
    Point3d solidCentroid = solid.MassProperties.Centroid;
    centroid = solidCentroid.TransformBy(Matrix3d.Displacement(region.Normal.Negate()));
}
完美测试,万分感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-2 13:01 , Processed in 0.298224 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表