乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 38|回复: 2

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

[复制链接]

7

主题

13

帖子

1

银币

初来乍到

Rank: 1

铜币
41
发表于 2012-4-9 17:02:00 | 显示全部楼层 |阅读模式
按照该例程下readme.txt文件的步骤:先后编译square、AsdkSquareWrap,打开AsdkSquareLib.reg修改AsdkSquareLib.dll文件的注册路径,运行AsdkSquareLib.reg注册COM server。在2008中加载.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文件的问题,但却不知从何下手修改,此问题已困惑我一个星期了。请高手帮忙,感激不尽!!!
回复

使用道具 举报

7

主题

13

帖子

1

银币

初来乍到

Rank: 1

铜币
41
发表于 2012-4-10 15:58:00 | 显示全部楼层
找了几天,终于在一个国外网站找到了解决方法:
在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
回复

使用道具 举报

5

主题

88

帖子

9

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
108
发表于 2012-8-28 09:45:00 | 显示全部楼层

OPM很有研究,可不可以发一个简单的OPM的制作程序给我啊,735023723@qq.com,谢谢
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-5 10:35 , Processed in 0.184503 second(s), 58 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表