明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3340|回复: 2

有谁编译过SDK下关于自定义实体OPM的AsdkSquareWrapper_dg例程啊?

[复制链接]
发表于 2012-4-9 17:02:37 | 显示全部楼层 |阅读模式
按照该例程下readme.txt文件的步骤:先后编译squareAsdkSquareWrap,打开AsdkSquareLib.reg修改AsdkSquareLib.dll文件的注册路径,运行AsdkSquareLib.reg注册COM server。在AutoCAD2008中加载.arx.dbx文件,输入“SQ”绘制一个方框,选择刚绘制的方框,OPM中却没有方框实体的属性显示,实体名中显示“无选择”。再输入“ADDSQ”命令却产生如下提示:
Error initializing command.
Please compile and register the AsdkSquareWrap module prior to use this
command. (see readme for instructions)
感觉是AsdkSquareLib.reg文件的问题,但却不知从何下手修改,此问题已困惑我一个星期了。请高手帮忙,感激不尽!!!
 楼主| 发表于 2012-4-10 15:58:38 | 显示全部楼层
找了几天,终于在一个国外网站找到了解决方法:

在ObjectARX 2008编译AsdkSquareWrap例程时遇到的一些问题,这些问题用了我两天时间得以解决。
主要问题是一些文件在2008版本下没有重新创建,这些文件CLSIDs仍是2006版本下创建的。
    以下是解决方法:
1. 删除AsdkSquareWrap目录下以下文件:
AsdkSquareLib.tlb
AsdkSquareLib_i.c
AsdkSquareLib.h
2. 将3个项目中CPP和.h文件中的包含文件作如下替换:
#include "AsdkSquareLib.h"
#include "AsdkSquareLib_i.c"
替换为:
#include "Debug\AsdkSquareLib_i.h"
#include "Debug\AsdkSquareLib_i.c"
(可能还有些别的文件,详见下面第3步的创建日志)
3. 编译所有3个项目。因为有些文件是交叉引用的,所以可能编译2~3次才能成功。
4. AsdkSquareLib.reg文件漏掉了以下条目:
[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\ObjectDBX\R17.1\ActiveXCLSID]
"AsdkSquare"="{C3F0A84C-9A0A-46E6-BCAA-D75030FE6206}"
由于运行AsdkSquareLib.reg文件以上条目仍不能注册到WINDWOS系统。需要运行"Windows Registry Editor Version 5.00"进行注册。
不要忘了AsdkSquareLib.reg文件中AsdkSquareLib.dll的路径要按实际路径修改。
5. 运行AsdkSquareLib.reg文件进行注册,并通过Regedit 手动进行检查是否注册成功。
6. 在AuotCAD中加载square.dbx和squareui.arx输入命令“SQ”和“ADDSQ”检查OPM是否正常显示。
7. 在VBA使用的编码(首先在AuotCAD中加载square.dbx:
Make a reference to "AsdkSquareLib 1.0 Type Library"
Dim objAsdkSquare As ASDKSQUARELIBLib.AsdkSquareWrapper
Dim varCenterPoint As Variant
Set objAsdkSquare = ThisDrawing.ModelSpace.AddCustomObject("AsdkSquare")
varCenterPoint = ThisDrawing.Utility.GetPoint(, " Pick a point for the center: ")
With objAsdkSquare
.CenterPoint = varCenterPoint
.Number = "5"
.SquareSize = 100
End With
Set objAsdkSquare = Nothing
如果通过以上步骤仍然不行,需要使用正确的SDK例程重新编译。

原文地址:
http://forums.autodesk.com/t5/fo ... message/true/page/1
发表于 2012-8-28 09:45:53 | 显示全部楼层
czx1234567 发表于 2012-4-10 15:58
找了几天,终于在一个国外网站找到了解决方法:

在ObjectARX 2008编译AsdkSquareWrap例程时遇到的一些问 ...

OPM很有研究,可不可以发一个简单的OPM的制作程序给我啊,735023723@qq.com,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 09:31 , Processed in 0.142368 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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