找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3528|回复: 2

[ARX程序]:学习ARX的步骤

[复制链接]
发表于 2003-9-5 11:25:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
这是学习ARX FOR 2004 的实例文档,对学习有帮助!
ObjectARX Samples Readme

--------------------------------------------------------------------------------

Introduction
This document provides an overview of the sample applications that come with ObjectARX. The sample applications are located in the ObjectARX samples directory. Whether you are new to ObjectARX or relatively experienced with it, the sample applications can be a source of ideas and an opportunity to learn new concepts. In addition to describing what each sample application does, this document explains the sample categories, lists the skill level required to understand each application, and provides a suggested order in which to go through the sample applications.


--------------------------------------------------------------------------------

Sample Categories
The ObjectARX sample applications are grouped into subdirectories according to the major focus of the sample code. The subdirectories and descriptions of the corresponding categories are listed below.

com
These examples illustrate how to use COM with ObjectARX.
database
These examples focus on understanding and working with the AutoCAD database.
editor
These examples rely on the AutoCAD editor.
entity
These examples concentrate on deriving custom entities.
graphics
These examples emphasize the AcGi library.
misc
Miscellaneous examples include the startup wizard, eTransmit, and ISM.
reactors
These examples illustrate how to use reactors in ObjectARX.

--------------------------------------------------------------------------------

Skill Levels
To help you identify where to start and what skill level you need to understand a particular sample application, this document lists a skill level rating for each sample. The four levels, beginning, medium, high, and advanced, are characterized by the specific ObjectARX development skills described below.

Beginning
At this level, the developer has an understanding of the AutoCAD database and knows how to do the following:

Open and close objects.
Understand symbol tables and symbol table records and how to use interators.
Understand the Named Objects Dictionary and Extension Dictionaries.
Understand the standard ObjectARX objects and entities.
Create a standard entity/object and manipulate its properties.
Medium
At this level, the developer knows how to:

Create a custom class derived from AcDbObject or AcDbEntity and understand what virtual functions need to be overridden as a result.
Understand transactions and transient and persistent reactors.
Understand the Multiple Document Interface.
Understand document management.
High
At this level, the developer knows how to:

Create a custom class derived from AcDbCurve and understand what virtual functions need to be overridden as a result.
Use AcEdJig.
Use MFC with ObjectARX.
Advanced
At this level, the developer knows how to:

Understand deep cloning.
Understand protocol extensions.
Understand COM and ActiveX as it pertains to AutoCAD and ObjectARX.
Understand Design Center, input point processing, and Object Property Manager.

--------------------------------------------------------------------------------

Sample Applications by Subdirectory
com
    AsdkMfcComSamp_dg
    AsdkPlainComSamp_dg
    AsdkSquareWrapper_dg
    designcenter_dg
    DesignCtrSample
database
    Arxdbg
    clonemsg
    clonenod_dg
    clones
    clonreac_dg
    complex_dg
    curve_dg
    dataxtsn
        edinvent
        peinvent
    deepclone_dg
    elipsjig_dg
    ents_dg
    entswerr_dg
    groups_dg
    longtrans_dg
    ownrshp_dg
    partopen
    pliniter_dg
    tablerec_dg
    tbliter_dg
    testdb_dg
    xdata_dg
    xrecord_dg
    xtsndict_dg
editor
    cmdcount
    custobj_dg
    docman
    mfcsamps
        acuisample_dg
        arxdd***
        contextmenu
        dynamic_dg
        ExtendTabs
        modal
        modeless
        pretranslate
        progbar
    rect
    simpledynprops
    StatusBar***
entity
    blockorder
    curvetext
    DblClick***
    dimovrid
    divisor
    grip***
    hilight_dg
    mpolygon***
    MultilineTooltipSamp***
    polysamp
    referenc_dg
    smiley
    tempapp_dg
    third
graphics
    acgisamp
    coordsys_dg
    icon_dg
    jig3d
    Material
    mesh_dg
    shell_dg
    stylcvrt_dg
    teselate_dg
    textstyl_dg
    traits_dg
    viewgeom_dg
misc
    eTransmit***
    fact_dg
    ism
    specials_dg
    StartUpWiz***
reactors
    dbreact_dg
    inputpoint
    othrwblk_dg
    persreac_dg
    profilesamp_dg

*** These samples have not yet been added to the Readme.

Note Samples with names that end in "_dg" are referenced in the ObjectARX Developer's Guide.


--------------------------------------------------------------------------------

Sample Applications Alphabetical by Name
This section lists the sample applications in alphabetical order and briefly discusses what each application does.

B | C | D | E | F | G | H | I | J | L | M | O | P | R | S | T | V | X

Application: acgisamp
Subject: AcGi Interface classes
Skill Level: Advanced
Classes: Major classes derived from are AcGiWorldDraw, AcGiWorldGeometry, AcGiSubEntityTraits, AcGiContext, AcDbEntity, and AcApDocManagerReactor.
Summary: The acgisamp sample application demonstrates how to implement the AcGi interfaces in your application. The AcGi interfaces are used by entities in the database to draw themselves. AutoCAD implements these interfaces to acquire the graphical representation of entities for display and plotting purposes. Applications can also implement these interfaces to carry out various tasks that require graphical representation of entities. For example an application may wish to implement these interfaces to draw entities on a different window than AutoCAD's view, to convert entities to other images, drawing formats, and so on.

--------------------------------------------------------------------------------
Application: AsdkMfcComSamp_dg
Subject: COM and MFC
Skill Level:  
Classes:  
Summary: This sample demonstrates some of the many uses of COM access using MFC.

--------------------------------------------------------------------------------
Application: AsdkPlainComSamp_dg
Subject: COM
Skill Level:  
Classes:  
Summary: This sample demonstrates some of the many uses of COM access using the Win32 API.

--------------------------------------------------------------------------------
Application: AsdkSquareWrapper_dg
Subject: COM wrappers for custom entities
Skill Level:  
Classes:  
Summary: This sample shows an ATL COM wrapper for an ObjectARX custom entity. This project builds a DLL that will be loaded when COM access to the custom entity is requested.

--------------------------------------------------------------------------------
Application: arxdbg
Subject: ObjectARX application debugging tool
Skill Level: Advanced
Classes: See summary information
Summary: This application is provided to help in debugging and understanding ObjectARX applications. The application serves as a learning/debugging tool by allowing the user to monitor what types of events are happening in the system. There is an extensive Word document that describes this application's capabilities in great detail.

--------------------------------------------------------------------------------
Application: blockorder
Subject: Input/Filter API
Skill Level: High
Classes: Major classes derived from are AcDbIndex, AcDbFilter, and AcDbFilteredBlockIterator.
Summary: The blockorder sample application demonstrates the use of the filter/index API. AutoCAD uses this API to implement xref clipping and the partial load feature.
Applications can use this API to three things:

Programmatically clip xrefs.
Use partial loading programmatically.
Create custom indices and filters to be used by AcDbBlockReference regeneration.

The blockorder sample demonstrates usage #3 by implementing a custom index/filter that lets the user control the order in which entities are regenerated by an AcDbBlockReference. Applications may take advantage of usage #3 by filtering contents of blocks/xrefs based on custom criteria (in the case of blockorder, the custom criterion is the order in which the user wants the entities displayed).


--------------------------------------------------------------------------------
Application: clonemsg
Subject: Deep cloning, ownership types
Skill Level: Advanced
Classes: Major classes derived from are AcDbObject, AcDbEntity and AcDbEditorReactor.
Summary: The main focus of this application is deep cloning and maintaining the relationship between a custom entity and custom object, during save/open/wblock/insert/copy/block/explode operations. The application discusses hard and soft pointers as well as hard ownership. Other topics of interest are the Named Objects Dictionary and Extension Dictionaries. Note that in the project settings you can build the application for the following custom project settings:

Win32 Direct
Win32 ExtDict SoftPointer
Win32 ExtDict HardPointer
Win32 NOD SoftPointer
Win32 NOD HardPointer

These settings determine the object relationship type and how beginDeepCloneXlation() should behave according to these relationship types.


--------------------------------------------------------------------------------
Application: clonenod_dg
Subject: Deep cloning
Skill Level: High
Classes:  
Summary: Implements deep cloning for a user-defined object dictionary in the named objects dictionary.  

--------------------------------------------------------------------------------
Application: clones
Subject: Shallow clone, deep clone, and cloning across databases
Skill Level: High
Classes: No major class categories.
Summary: This application discusses how to copy entities, and complex entities using clone() and deepCloneObjects(). There is a demonstration of copying an external drawing database into the current model space. This application is a good prelude for the 'clonemsg' sample application.

--------------------------------------------------------------------------------
Application: clonreac_dg
Subject: Customizing deep clone behavior
Skill Level: Advanced
Classes:  
Summary: Implements a transient editor reactor to customize deep cloning behavior.  

--------------------------------------------------------------------------------
Application: cmdcount
Subject: Demonstrates the use of Document and Editor reactors.
Skill Level: Medium
Classes: Major classes derived from are AcEditorReactor, AcRxObject and AcApDocManagerReactor.
Summary: The Command Counter application records the number of times each AutoCAD command, AcEd-registered command, or AutoLISP expression evaluation is invoked, plus the cumulative time spent with each. This application demonstrates how to use AutoCAD 2002 Document Manager reactor as well as an editor reactor.

--------------------------------------------------------------------------------
Application: complex_dg
Subject: Complex entities
Skill Level:  
Classes:  
Summary: Creates blocks and a complex entity and adds them to the database.  

--------------------------------------------------------------------------------
Application: coordsys_dg
Subject: Coordinate systems.
Skill Level:  
Classes:  
Summary: This example demonstrates the use of isPerspective(), doPerspective(), getBackAndFrontClippingValues(), polygonDc(), polygonEye(), and polygon(). To do this, it takes an original line segment in model coordinates and creates its equivalents in eye and display coordinates. When displayed, all lines will overlap exactly.  

--------------------------------------------------------------------------------
Application: curve_dg
Subject: Entities
Skill Level: Beginning
Classes:  
Summary: This program demonstrates the use of AcDbCurve protocol to create specific types of ellipses.  

--------------------------------------------------------------------------------
Application: curvetext
Subject: Advanced custom entities, AutoCAD UI, Demand Loading and AcEdJig and embedded entities.
Skill Level: Advanced
Classes: Major classes derived from are AcDbCurve, AcEdInputPointMonitor, CAcUiDialog, AcEdJig and AcEdUIContext.
Summary: This application demonstrates many aspects of ObjectARX's capabilities including the use of embedded entities. The application creates a custom entity derived from AcDbCurve and overwrites many of the required functions. The custom entity is text that follows the outline of a curve entity. If the user selects a grip point and changes the shape of the curve, the text follows the new shape of the curve. You enter text and manipulate the custom entity through an AutoCAD dialog. Changing the start and end points for the text demonstrates how to use the new Input Point Monitoring capabilities. A key feature of curvetext is that it embeds another entity: the curvetext object maintains a pointer to an AcDbCurve object. Demand Loading of the application is also covered.

--------------------------------------------------------------------------------
Application: custobj_dg
Subject: Custom objects
Skill Level:  
Classes:  
Summary: Implements a custom object. Creates a dictionary and iterates over it.  

--------------------------------------------------------------------------------
Application: dataxtsn\edinvent
Subject: Extension Dictionary
Skill Level: Medium
Classes: Major classes derived from are AcDbObject.
Summary: This application creates a custom class derived from AcDbObject and stores string data in the custom class. The custom object in turn is stored in the entities Extension Dictionary.

--------------------------------------------------------------------------------
Application: dataxtsn\peinvent
Subject: Protocol Extension (PEX) and Xdata
Skill Level: Advanced
Classes: Major classes derived from are AcRxObject.
Summary: This application demonstrate the Protocol Extension mechanism (PEX) and attaches Xdata to a selected entity. You can also use PEX to retrieve the Xdata from the entity that has the Xdata attached.

--------------------------------------------------------------------------------
Application: dbreact_dg
Subject:  
Skill Level:  
Classes:  
Summary: Implements a database reactor and shows how to make the reactor MDI aware.

--------------------------------------------------------------------------------
Application: deepclone_dg
Subject:  
Skill Level:  
Classes:  
Summary: Demonstrates deep cloning.

--------------------------------------------------------------------------------
Application: designcenter_dg
Subject:  
Skill Level:  
Classes:  
Summary: Implements COM interfaces to extend the AutoCAD Design Center.

--------------------------------------------------------------------------------
Application: DesignCtrSample
Subject: Extend the Design Center COM API
Skill Level: Advanced
Classes: Uses ATL Simple Object plus IAcDcContentView
Summary: This COM based application is written in ATL. It extends the Design Center COM API to browse and display a DWF file in a separate window within the AutoCAD frame window. It demonstrates how to implement a COM server that is also a client of the Design Center COM Server. It further demonstrates how to use the Whip ocx control and how to map it to an MDI Child window. It requires a good knowledge of MFC, COM, and ATL.

--------------------------------------------------------------------------------
Application: dimovrid
Subject: Adding dimension overrides to dimension entities
Skill Level: Beginning
Classes: No major class categories.
Summary: This application programmatically adds and manipulates dimension overrides. These adjustments parallel the changes that can be made to DIM* system variables in AutoCAD. Once dimension overrides are applied, the propagated change is often noticed visually in an altered display for a dimension, tolerance, or leader entity. For this application, you need to understand result buffers (refbuf structure) and xdata as it pertains to overriding dimension entities.

--------------------------------------------------------------------------------
Application: divisor
Subject: Custom Object Snaps
Skill Level: Advanced
Classes: Major classes derived from are AcGiGlyph, AcDbCustomOsnapInfo and AcDbCustomOsnapMode.
Summary: This application is an extension of the 'third' sample application. This application discusses custom object snaps which can be applied to a whole polyline or each segment of a polyline. For each of the object snaps, the application draws a glyph based on the AcGiGlyph class.

--------------------------------------------------------------------------------
Application: docman
Subject: Various aspects of Multiple Document management.
Skill Level: High
Classes: Major classes derived from are AcApDocManagerReactor, AcEditorReactor, CDialog (MFC).
Summary: This application demonstrates how to manage multiple documents in AutoCAD 2002. This application also demonstrates the use of the document manager reactor and editor reactor and the factors that have to be taken into account when dealing with multiple documents. Topics include active and current documents, locking documents, creating new documents opening drawing files in memory, and opening drawings in their own window. This application is also a good example of how to use a modeless dialog in the context of multiple document usage. Executing commands within a document versus application context is also discussed.

--------------------------------------------------------------------------------
Application: elipsjig_dg
Subject: Using AcEdJig
Skill Level:  
Classes:  
Summary: This program demonstrates how to use AcEdJig to provide a user interface for AcDbEllipse creation that's slightly different from that provided by AutoCAD itself.

--------------------------------------------------------------------------------
Application: ents_dg
Subject: Entities
Skill Level: Beginning
Classes:  
Summary: This program demonstrates how to create entities, layers, and groups.

--------------------------------------------------------------------------------
Application: entswerr_dg
Subject: Entities
Skill Level: Beginning
Classes:  
Summary: This program demonstrates error checking when creating entities.

--------------------------------------------------------------------------------
Application: fact_dg
Subject:  
Skill Level:  
Classes:  
Summary: This sample provides various utilitiy functions that can be used in ObjectARX.

--------------------------------------------------------------------------------
Application: groups_dg
Subject: Groups
Skill Level: Beginning
Classes:  
Summary: This program demonstrates the use of some of the AcDbGroup protocol.

--------------------------------------------------------------------------------
Application: hilight_dg
Subject:  
Skill Level: Medium
Classes:  
Summary: This program demonstrates how to use ObjectARX API functions to highlight and unhighlight subentities of complex entities such as ACIS solids.

--------------------------------------------------------------------------------
Application: icon_dg
Subject: Viewport-dependent graphics.
Skill Level:  
Classes:  
Summary: This example demonstrates the main use of polylineDc(), polygonDc(), and getViewportDcCorners()--graphics that depend on the physical layout of the viewport, like icons, markers, or borders that vary with the size of the viewport. For the demonstration, this example draws a box in the upper right corner of the viewport. The box's width and height are always a tenth of the viewport's shortest dimension and are centered a tenth of the viewport's shortest dimension down and to the left of the upper righthand corner of the viewport.  

--------------------------------------------------------------------------------
Application: inputpoint
Subject: Input Point Manager
Skill Level: Advanced
Classes: Major classes derived from are AcEdInputPointMonitor, AcEdInputPointFilter and AcEdInputContextReactor.
Summary: This application demonstrates how to use the Input Point Monitor. In this application, you add an input point monitor, filter, and reactor to the current document. The input point monitor watches your cursor movements. The input point filter tracks custom cursor behavior in addition to standard cursor movement. The input point reactor reacts to various begin and end input functions, whether graphical or keyboard user input. The reactor also allows you to accept or reject the user input.

--------------------------------------------------------------------------------
Application: ism
Subject: Image Support Module
Skill Level: Medium
Classes: Major classes used in this application are AcDbRasterImage, AcDbRasterImageDef, AcDbRasterImageDefReactor and AcDbRasterVariables.
Summary: This application demonstrates how to work with raster images. When you run this application, make sure that you load the acISMui.arx, which is located in the AutoCAD 2002 directory.

--------------------------------------------------------------------------------
Application: jig3d
Subject: Using an AcEdJig and demonstrating the capabilities of the graphics library
Skill Level: High
Classes: Major classes derived from are AcEdJig and AcGiDrawable.
Summary: This application demonstrates how to use AcEdJig and also the capabilities of the AcGiDrawable class. In this application you can select a solid object in some rendered state, and move the select solid freeform or about the x, y, or z axis while the select solid retains the value of whatever shade mode was in effect for it.

--------------------------------------------------------------------------------
Application: longtrans_dg
Subject: Long transactions
Skill Level:  
Classes:  
Summary: This program shows how to use long transactions, including checkout and checkin of entities.

--------------------------------------------------------------------------------
Application: Material
Subject:  
Skill Level:  
Classes:  
Summary:  

--------------------------------------------------------------------------------
Application: mesh_dg
Subject: mesh()
Skill Level: Beginning
Classes:  
Summary: This example demonstrates the use of the mesh() function.  

--------------------------------------------------------------------------------
Application: mfcsamps\acuisample_dg
Subject: MFC
Skill Level:  
Classes:  
Summary: This sample demostrates some of the many uses of AcUi MFC dialog classes for AutoCAD.

--------------------------------------------------------------------------------
Application: mfcsamps\contextmenu
Subject: How to create Context Menus
Skill Level: Medium
Classes: Major classes derived from are AcEdUIContext.
Summary: This application demonstrates how to create Context Menus for AutoCAD 2002. Context Menus are menus that appear as a result of right-clicking on the graphics screen. These menus are dynamic in nature, in that they change according to the operation being carried out at the time. With no entities selected, a menu item is added to the standard AutoCAD context menu. When lines are selected, the Context Menu is created in terms of line entities. This applies for circle entities also. If entities of different types are selected, the Context Menu changes to reflect this condition.

--------------------------------------------------------------------------------
Application: mfcsamps\dynamic_dg
Subject: MFC
Skill Level:  
Classes:  
Summary: This sample demonstrates how to use an MFC DLL in an ObjectARX application.

--------------------------------------------------------------------------------
Application: mfcsamps\ExtendTabs
Subject: Adding Tabs to a Standard Resizable AutoCAD Tabbed Dialog.
Skill Level: Medium
Classes: Major classes derived from are CDialog, CAcUiTabChildDialog.
Summary: This application demonstrates how to add new tab to an existing resizable AutoCAD tabbed dialog, in this case the 'preferences' dialog. The tabs that are added to the 'preferences' dialog also demonstrate how to resize the controls within the tab, when the 'preferences' dialog changes size.

--------------------------------------------------------------------------------
Application: mfcsamps\modal
Subject: Using an MFC Modal Dialog within ObjectARX
Skill Level: Beginning
Classes: Major classes derived from are CDialog.
Summary: This relatively simple application demonstrates how to implement a modal dialog within AutoCAD.

--------------------------------------------------------------------------------
Application: mfcsamps\modeless
Subject: How to implement a modeless dialog in a MDI environment.
Skill Level: Medium
Classes: Major classes derived from are CDialog, AcDbDatabaseReactor, AcApDocManagerReactor, AsdkDataManager, and AcEditorReactor.
Summary: This application demonstrates how to implement a modeless dialog in terms of AutoCAD 2002 Multiple Document Environment, as well as how to send commands to the command-line from the dialog context. This application also implements reactors for document, editor, and database. Information on changes and additions in database entities are reflected in the modeless dialog.

--------------------------------------------------------------------------------
Application: mfcsamps\pretranslate
Subject: Capture AutoCAD message
Skill Level: Beginning
Classes: None
Summary: This sample shows how to pretranslate AutoCAD messages before they're processed by AutoCAD.

--------------------------------------------------------------------------------
Application: mfcsamps\progbar
Subject: How to implement a Progress Bar on the status bar
Skill Level: Beginning
Classes: None
Summary: This application demonstrates how to put a Progress Bar on the AutoCAD status bar.

--------------------------------------------------------------------------------
Application: othrwblk_dg
Subject:  
Skill Level:  
Classes:  
Summary: This sample shows correct and incorrect ways to use AcEditorReactor::otherWblock to get the object ID of the model space block table record for the destination database.

--------------------------------------------------------------------------------
Application: ownrshp_dg
Subject: Ownership
Skill Level:  
Classes:  
Summary: This program demonstrates deriving from AcDbObject and establishing ownership trees.

--------------------------------------------------------------------------------
Application: partopen
Subject: Demonstrate AutoCAD 2002 Partial Open techniques
Skill Level: High
Classes: Major classes used by this application are AcDbLayerFilter and AcDbSpatialFilter. Class derived from are AcEditorReactor.
Summary: This application demonstrates AutoCAD 2002 capability to partially open drawing file based on Layer relationship and spatial relationships. There is also an editor reactor that responds to the partial open requests and veto operations.

--------------------------------------------------------------------------------
Application: persreac_dg
Subject: Persistent reactors
Skill Level:  
Classes:  
Summary: This program demonstrates the use of persistent reactors by attaching two reactors one to each of two lines. Each reactor stores the object ID of the line to which it is not attached. When the line the reactor is attached to is lengthened or shortened, the reactor opens the other line and modifies its length to be the same as the new length of the line just changed.

--------------------------------------------------------------------------------
Application: pliniter_dg
Subject:  
Skill Level:  
Classes:  
Summary: This program demonstrates iterating over the subentity vertices of an AcDb2dPolyline.

--------------------------------------------------------------------------------
Application: polysamp
Subject: This application demonstrate multiple techniques and technologies. (Not a beginner's application.)
Skill Level: Advanced
Classes: See Summary Information below.
Summary: This application is not targeted at the beginning ObjectARX Developer. This application demonstrates many techniques and technologies as follows:

How to implement a custom entity class.
How transactions work.
How to implement an OLE Automation interface for a custom class.
How to split your application into a UI and a Custom Object section.
How to build an Object Enabler.

This is the Developer Consulting Group melting-pot application, in that it has a little of everything.


--------------------------------------------------------------------------------
Application: profilesamp_dg
Subject: Profile Manager notifications
Skill Level:  
Classes:  
Summary: This sample demonstrates some of the many uses of the Profile Manager.

--------------------------------------------------------------------------------
Application: rect
Subject: Demonstrate how to manage global data on a per-document basis.
Skill Level: High
Classes: Major classed derived form are AcApDocManagerReactor and AcEdJig.
Summary: This application demonstrates how to manage global data on a per-document basis. All the global data for this application is placed in a class.For each open drawing, that class data is managed by template map class (created by ObjecARX Wizard). This application draws a rectangle exactly like the AutoCAD RECTANG command. There is a document manager that manages which set of data belongs to which document, and also removes the document's global data when that document is destroyed. To see the effect of the global data, open 2 drawings and set the chamfer radius to a different value for each document. Start the custom rectangle in one window, then switch to the other window. Start the custom rectangle command, finish the command in the second window and return to the first window, and to finish the rectangle. This will demonstrate why proper management of global data is much more important in AutoCAD 2002 that previous versions of AutoCAD.

--------------------------------------------------------------------------------
Application: referenc_dg
Subject: Hard pointer references
Skill Level:  
Classes:  
Summary: This program demonstrates interobject references. It creates a class that extends AcDbEllipse by adding functionality to store a dynamic array of hard pointer object IDs. The subErase() member function has been overriden and implemented such that whenever an object of this class is erased, the objects pointed to by the hard pointer IDs stored within the object will also be erased.

--------------------------------------------------------------------------------
Application: shell_dg
Subject: shell()
Skill Level: Beginning
Classes:  
Summary: This example demonstrates the use of the shell() function.  

--------------------------------------------------------------------------------
Application: simpledynprops
Subject: Dynamic Properties of the Object Property Manager
Skill Level: Advanced
Classes: IDynamicProperty, ICategorizeProperties and IEnumProperty.
Summary: This application demonstrates the dynamic properties of the Object Properties Manager. In this application, we attach an AcDbXrecord to an AcDbDictionary to a selected entities Extension Dictionary. You can view and edit this data in the Object Properties window.

--------------------------------------------------------------------------------
Application: smiley
Subject: This application demonstrates multiple techniques and technologies. (Not a beginner's application.)
Skill Level: Advanced
Classes: See Summary Information below.
Summary: This application demonstrates defining a custom entity in an ObjectDBX object enabler, and also how to make use of this entity from an ObjectARX User Interface application (which defines commands). There is also a COM wrapper DLL project for each of the DBX and the ARX modules, which not only expose the entity and commands through Automation, but also categorizes the entity's properties for the AutoCAD Properties Window.

--------------------------------------------------------------------------------
Application: specials_dg
Subject:  
Skill Level:  
Classes:  
Summary: This directory contains code samples that get an object ID and create owner relationships. It also contains files that expand various macros used in the SDK.

--------------------------------------------------------------------------------
Application: stylcvrt_dg
Subject: AcDb and AcGi text styles.
Skill Level: Beginning
Classes:  
Summary: This program demonstrates converting back and forth between AcDb and AcGi text styles.  

--------------------------------------------------------------------------------
Application: tablerec_dg
Subject: Symbol tables
Skill Level: Beginning
Classes:  
Summary: This program demonstrates creating a symbol table record (specifically a layer table record), filling in the required data, and then adding it to the layer table.

--------------------------------------------------------------------------------
Application: tbliter_dg
Subject: Symbol tables
Skill Level: Beginning
Classes:  
Summary: This program demonstrates iterating over a symbol table. In this example, the linetype table is used.

--------------------------------------------------------------------------------
Application: tempapp_dg
Subject: Protocol extension
Skill Level:  
Classes:  
Summary: This program demonstrates ObjectARX protocol extension. It implements a protocol extension for AcDbCircle, AcDbEllipse, and AcDbRegion.

--------------------------------------------------------------------------------
Application: teselate_dg
Subject: worldDraw() and viewportDraw()
Skill Level: Beginning
Classes:  
Summary: This sample shows a unit circle centered at the origin that depends on a viewport's view of the circle and tries to draw the circle with a polyline with the minimum number of discernible segments. It demonstrates one reason getNumPixelsInUnitSquare() is needed, but does not show how to optimally code the task.  

--------------------------------------------------------------------------------
Application: testdb_dg
Subject: Reading and writing database objects
Skill Level: Beginning
Classes:  
Summary: This program demonstrates reading and writing AcDbDatabase objects.

--------------------------------------------------------------------------------
Application: textstyl_dg
Subject: AcGi text styles
Skill Level: Beginning
Classes:  
Summary: This program demonstrates the use of AcGi text styles.  

--------------------------------------------------------------------------------
Application: third
Subject: Custom Object Snaps
Skill Level: High
Classes: Major classes derived from are AcGiGlyph, AcDbCustomOsnapInfo and AcDbCustomOsnapMode.
Summary: This application discusses custom object snaps which can be applied to a whole polyline or each segment of a polyline. For each of the object snap, the application draws a glyph based on the AcGiGlyph class. See the sample application 'divisor', which is an extension of this application.

--------------------------------------------------------------------------------
Application: traits_dg
Subject: Subentity traits
Skill Level:  
Classes:  
Summary: This sample demonstrates using many of the AcGiSubEntityTraits class functions for controlling the properties of the graphics primitives drawn during entity elaboration.

--------------------------------------------------------------------------------
Application: viewgeom_dg
Subject: worldDraw() and viewportDraw(), showing the use of getNumPixelsInUnitSquare()
Skill Level:  
Classes:  
Summary: This example demonstrates using viewportDraw(), getModelToEyeTransform(), doPerspective(), RegenType(), and polylineEye().

--------------------------------------------------------------------------------
Application: xdata_dg
Subject: Extended entity data
Skill Level:  
Classes:  
Summary: This program shows how to add and access extended entity data (xdata).

--------------------------------------------------------------------------------
Application: xrecord_dg
Subject: Xrecords
Skill Level:  
Classes:  
Summary: This program demonstrates using xrecords.

--------------------------------------------------------------------------------
Application: xtsndict_dg
Subject: Extension dictionaries
Skill Level:  
Classes:  
Summary: This program demonstrates using extension dictionaries.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-9-5 11:29:16 | 显示全部楼层
你的个人签名是:I am poor!
我想说的是:My English is poor!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-9-5 12:44:21 | 显示全部楼层
最初由 HHSoft 发布
[B]你的个人签名是:I am poor!
我想说的是:My English is poor! [/B]


你比我好了,只是English poor,但我是什么都poor,包括ARX
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-21 02:38 , Processed in 0.345347 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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