- UID
- 1
- 积分
- 15892
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-1-3
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
ObjectARX Technical Newsletter - February 2000
This document is part of ObjectARX Newsletter Archive
/Note: Have you missed a Newsletter issue? Visit our Newsletter archive at
the following URL:/
http://adn.autodesk.com/techsupp/docs/newsletters.htm
Dear ObjectARX developer,
Table of Content
================
1- ObjectDBX object enabler and limitations
2- UserType.dat file for ObjectARX 2000 is now available
3- Visual Studio Intellisense with ObjectARX
4- ObjectARX Related Educational Material
5- New and Updated solutions
6- New ADN 2000 website, bookmarked URL problems
7- Upcoming Training Schedule
1- ObjectDBX object enabler and limitations
-------------------------------------------
In last month's newsletter we discussed custom entity definitions. This
month we will discuss Autodesk recommendations on creating such objects
to insure accurate support for your customers.
Below you will find an extract from our knowledge database which discusses
ObjectDBX enablers.
<Begin Extract>
One of the strongest feature of the ObjectARX technology, introduced with
AutoCAD Release 13, is to enable 3rd party AutoCAD developers to add new
object types, also called custom objects- to the set of standard objects
defined by AutoCAD: like line, circle, layer, etc.
Typically, an AEC software developer will want to define a wall or a
building schedule object, a Mechanical software developer will want to define part
and assembly objects, etc...
In order to manipulate such objects, which are not one of its native
objects, AutoCAD needs to delegate to the defining ObjectARX application. For
example, AutoCAD will ask the parent ObjectARX application to output the necessary
geometry in order to represent an instance of the new object, since it has
no idea what it should look like.
Since these objects can be persistent (saved in a drawing), there is a
potential problem when such a drawing is opened in AutoCAD and the parent
ObjectARX application is not loaded or not present. How should AutoCAD
represent such objects? How should it move, rotate or copy them? In order to
solve this problem, the ObjectARX technology also introduced the concept of
proxy object: a special AutoCAD native database object capable of providing
a default representation and behavior for an unknown object in a drawing
database. However, the parent application being not present, the default
representation and behavior supplied by the proxy object is necessary
limited, and in some cases not satisfying.
The concept of object enabler is the answer to the proxy object limitations.
An object enabler is an application developed by the custom object provider
-the AutoCAD 3rd party developer- containing the object definition itself.
This object definition is enough to provide the object with the expected
behavior when the drawing is loaded, but typically does not allow creation
or sophisticated editing (editing beyond standard move, copy, rotate, etc.).
The definition of this "minimum" behavior belongs in a large extent to the
application developer who can decide to provide more or fewer capabilities
to his objects when the full parent application is not present.
It is therefore recommended that an ObjectARX application defining custom
object(s) isolate the object definition(s) in an object enabler module, this
module being distributed freely to users manipulating drawings containing
such custom objects.
With the introduction of the DWG Unplugged technology, renamed today to
ObjectDBX technology, Autodesk also enabled 3rd party developers to write
applications capable of reading and writing AutoCAD drawing databases (.dwg
files) without AutoCAD being present. Therefore the ObjectDBX technology is
independent of the AutoCAD editor (makes no call to acad.exe), and it can be
viewed as ObjectARX minus the editor specific API (typically the AcEd
classes and global functions).
Object enablers, which should also be able load into such applications since
they are capable of reading and writing dwg files, should also be
independent of the AutoCAD editor and use the ObjectDBX technology.
"ObjectDBX module" refers to the ObjectDBX component of an ObjectARX
application defining custom object(s). An ObjectDBX module, just like an
ObjectARX application, is a Dynamic-Link library (DLL). Applications
developed using the ObjectDBX SDK are capable of loading object enablers
-ObjectDBX modules- and are called ObjectDBX host applications. AutoCAD
itself is an ObjectDBX host application, and actually uses the very same
technology provided in the ObjectDBX SDK.
The ObjectARX SDK can produce both ObjectARX applications and ObjectDBX
modules. Both are DLLs and both export the acrxEntryPoint() function. The
difference between the two is essentially that ObjectARX applications link
into libraries which make them dependent on AutoCAD (they import functions
from acad.exe), while ObjectDBX modules do not. The AutoCAD dependent
libraries are:
acad.lib
acedapi.lib
acsiobj.lib
acui15.lib
oleaprot.lib
rxheap.lib
The ObjectARX SDK cannot produce ObjectDBX host applications, only the
ObjectDBX SDK, which is subject to a special licensing agreement, can.
Please verify the document attached in the solution below for more
information on the ObjectDBX security issues.
/cgi-bin/solution.pl?SID=29575
<End Extract>
Also it is important to repeat that an object Enabler application
(named .dbx) will be loaded in any host applications based on the ObjectDBX
technology to properly handle your custom entity. This is why it is
important
that your DBX application is not dependant on the AutoCAD editor
environment.
Please note for security reasons some native ObjectDBX API's are not
authorized in an object Enabler application. Those API can be summarized
as follows:
- Read/Write DWG/DXF file
- Iterating an AcDbBlockTableRecord
- Creating an XREF
Please refer to the document attached with the above solution above for more
information on the ObjectDBX security issues.
2- UserType.dat file for ObjectARX 2000 is now available
--------------------------------------------------------
Autodesk's Developer Consulting Group provides a UserType.dat file for
ObjectARX keyword highlighting in Microsoft Developer Studio IDE.
This file can be downloaded from:
http://adn.autodesk.com/techsupp/utilitiestools.htm
Also, this file will be maintained and updated on an ongoing basis to
accurately reflects all changes made in the AutoCAD API. We will soon
produce extensions for AutoCAD MAP/Mechanical Desktop/OMF/AEC APIs
which can also be appended to the usertype.dat file. Check the ADN 2000
website for updates.
3- Visual Studio IntelliSense with ObjectARX
--------------------------------------------
Visual Studio 6.0 has an IntelliSense VB IDE feature. However, it does not
work properly with the ObjectARX SDK headers files, as well as your own
class hierarchy. At the following URL, you will find a Visual Studio AddIn
which enables Intellisense for any classes. As well as making more options
available for the color syntax rendering.
http://www.wholetomato.com
4- ObjectARX Related Educational Material
---------------------------------
* AutoCAD(r) Database Connectivity
Scott McFarlane (December 1999) - Delmar Pub; ISBN 0766816400
* Mastering AutoCAD 2000 Objects (Mastering)
Dietmar Rudolph (December 1999) - Sybex; ISBN 078212562X
* ObjectARX(tm) Primer
Bill Kramer (September 1999) - Autodesk Press; ISBN 0766811271
* Programming AutoCAD 2000 using ObjectARX
Charles McAuley (February 2000) - Autodesk Press; ISBN 076680643X
* Ransen's ObjectARX Course (AutoCAD 2000 coverage and CD-ROM Based only)
http://www.ransen.com
5- New and Updated solutions
----------------------------
ACDBTEXT DEFAULT CONSTRUCTOR DOES NOT SET POSITION[Z]
/cgi-bin/solution.pl?SID=44975
SWITCHING BETWEEN PSPACE AND MSPACE IN AN ARX APPLICATION
/cgi-bin/solution.pl?SID=3715
HOW TO UNLOAD AN ARX APPLICATION BY ITSELF
/cgi-bin/solution.pl?SID=44887
6- New ADN 2000 website, bookmarked URL problems
------------------------------------------------
If you have visited the ADN 2000 website recently you may have noticed that
it has been redesigned. In addition to the reorganization we have shortened
many of the URL's. As a result any of the old URL's you may have bookmarked
will not point to the correct locations anymore. Please update your
bookmarks to point to the appropriate locations.
7 - Upcoming Training Schedule (last minute sign-up chance)
-----------------------------------------------------------
ObjectARX training will be offered in the US at San Rafael, CA.:
Intro to ObjectARX March 6-8
AutoCAD 2000 UI March 9-10
To sign up for the class, please email your contact information to:
ADN-TRAINING-WORLDWIDE@autodesk.com
Information about these and all ADN provided training can be found at:
http://www.autodesk.com/solution/partners/adn/training/index.htm
-----------------------------------------------------------------------------
To subscribe or unsubscribe, go to
http://adn.autodesk.com/techsupp/docs/newsletters.htm
-----------------------------------------------------------------------------
You received this message as a result of your registration
on the ADN List Server subscription page. If you no longer wish
to receive these messages, read the next section, How to use this
mailing list.
How to use this mailing list:
You may unsubscribe from this e-mail newsletter, or subscribe to
a variety of other informative e-mail newsletters, by returning
to the ADN List Server subscription page at
http://adn.autodesk.com/techsupp/docs/newsletters.htm
and changing your subscription preferences.
Alternatively, from the subscribed account you can send an e-mail to
<Majordomo-partnersys@autodesk.com> with the following command in the
body of your email message:
unsubscribe <list-name>
----------------------------------------------------------------------
Autodesk Developer Network (ADN) information and events:
For information on all ADN topics, please visit:
http://www.autodesk.com/adn
----------------------------------------------------------------------
THIS DOCUMENT IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY. The
information contained in this document represents the current view of
Autodesk Inc. on the issues discussed as of the date of publication.
Because Autodesk must respond to change in market conditions, it
should not be interpreted to be a commitment on the part of Autodesk
and Autodesk cannot guarantee the accuracy of any information
presented after the date of publication.
INFORMATION PROVIDED IN THIS DOCUMENT IS PROVIDED 'AS IS' WITHOUT
WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND FREEDOM FROM INFRINGEMENT.
The user assumes the entire risk as to the accuracy and the use of
this document. This document may be copied and distributed subject to
the following conditions:
1. All text must be copied without modification and all pages must
be included
2. All copies must contain Autodesk's copyright notice and any other
notices provided therein
3. This document may not be distributed for profit |
|