有谁编译过SDK下关于自定义实体OPM的AsdkSquareWrapper_dg例程啊?
按照该例程下readme.txt文件的步骤:先后编译square、AsdkSquareWrap,打开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文件的问题,但却不知从何下手修改,此问题已困惑我一个星期了。请高手帮忙,感激不尽!!! 找了几天,终于在一个国外网站找到了解决方法:在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文件漏掉了以下条目:
"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/forums/forumtopicprintpage/board-id/34/message-id/24562/print-single-message/true/page/1
czx1234567 发表于 2012-4-10 15:58 static/image/common/back.gif
找了几天,终于在一个国外网站找到了解决方法:
在ObjectARX 2008编译AsdkSquareWrap例程时遇到的一些问 ...
OPM很有研究,可不可以发一个简单的OPM的制作程序给我啊,735023723@qq.com,谢谢
页:
[1]