autocad map 3d 2009 sdk - documentation & help · the three developer's guides are also...

33
Introduction The AutoCAD Map 3D SDK includes ObjectARX, ObjectARX .NET, Feature Data Objects (FDO), and Geospatial Platform .NET. ObjectARX is an unmanaged C++ API. ObjectARX .NET is the managed C++ equivalent. FDO, like ObjectARX, comprises both a C++ API and a managed C++ equivalent. The Geospatial Platform is exposed as .NET only. Topics in This Section AutoCAD Map 3D SDK Before You Begin What's New in This Release What's New in Previous Releases

Upload: others

Post on 30-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

Introduction

TheAutoCADMap3DSDKincludesObjectARX,ObjectARX.NET,FeatureDataObjects(FDO),andGeospatialPlatform.NET.

ObjectARXisanunmanagedC++API.ObjectARX.NETisthemanagedC++equivalent.

FDO,likeObjectARX,comprisesbothaC++APIandamanagedC++equivalent.

TheGeospatialPlatformisexposedas.NETonly.

TopicsinThisSection

AutoCADMap3DSDKBeforeYouBeginWhat'sNewinThisReleaseWhat'sNewinPreviousReleases

Page 2: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

AutoCADMap3D2009SDK080310

TheAutoCADMap3DSDKincludesObjectARX,GeospatialPlatform,andFeatureDataObjects(FDO).

ObjectARXandFDOareexposedasC++andalso.NET.GeospatialPlatformisexposedas.NETonly.

ObjectARX,GeospatialPlatform,andFDOareinstalledwiththeAutoCADMap3DSDKonly.HoweverthedocumentationfortheseAPIsisincludedinbothAutoCADMap3DandAutoCADMap3DSDKinstallations.

SDKDocumentation

AutoCADMap3DSDKHelpandthefollowingcomponentHelpfilesarelocatedinAutoCADMap3D\HelpandalsoinAutoCADMap3DSDK\Docs.Solongasthesefilesresideinthesamefolder,allcomponentHelpcontentisavailableontheContentstabofAutoCADMap3DSDKHelpwhenyouopenit.

Title FileName

AutoCADMap3DObjectARXC++Developer'sGuide

sdk.arx.cpp.dev.chm

AutoCADMap3DObjectARXC++Reference

sdk.arx.cpp.ref.chm

AutoCADMap3DObjectARX.NETDeveloper's

sdk.arx.net.dev.chm

Page 3: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

Guide

AutoCADMap3DObjectARX.NETReference

sdk.arx.net.ref.chm

AutoCADMap3DGeospatialPlatformDeveloper'sGuide

sdk.geospatial.platform.dev.chm

AutoCADMap3DGeospatialPlatformReference

sdk.geospatial.platform.ref.chm

AutoCADMap3DGeospatialPlatformSupplementReference

sdk.geospatial.platform.supplement.ref.chm

AutoCADMap3DSDKReadme

sdk._readme.chm

Thethreedeveloper'sguidesarealsoavailableasPDFfiles,whicharelocatedinthesamefolderastheirCHMequivalents.

InadditiontothedocumentationcomponentswithObjectARX.NETintheirtitles,notethattheObjectARXC++Developer'sGuideincludesa.NEToverview.Toviewthissection,openAutoCADMap3DDKHelp,andthenclickDeveloper'sGuide>ManagedWrapperClasses.

DocumentationfortheFDOAPI,whichisalsoapartoftheSDK,isdescribedinitsownFDOsectionbelow.

SDKScope

ObjectARXC++and.NETcorrespondclosely.EachcoversmostofAutoCADMap3Dfunctionality,exceptwhatiscoveredexclusivelybyGeospatialPlatform.

GeospatialPlatformcoverageincludes

ResourceServiceFeatureService

Page 4: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

MappingService

ThescopeoftheFDOAPI,whichisalsoapartoftheSDK,isdescribedinitsownFDOsectionbelow.

SDKSamplesandC++HeaderFiles

SDKsampleprojectsandC++headerfilesareinstalledwiththeAutoCADMap3DSDKonly.TheyarenotincludedwithAutoCADMap3D.

ThesampleprojectsandC++headerfilesforFDO,whichisalsoapartoftheSDK,aredescribedintheirownFDOsectionbelow.

FDODocumentation

exposedasC++andalso.NET.

LikeObjectARX,FDOisexposedasC++andalso.NET.

TheFDOdocumentationincludesthefollowingcomponents.ThesefilesarelocatedinAutoCADMap3D\HelpandalsoinAutoCADMap3DSDK\FDO\Docs.

Title FileName

TheEssentialFDO FET_TheEssentialFDO.pdf

FDODeveloper'sGuide FDG_FDODevGuide.pdf

FDOAPIReference FDO_API.chm

FDOAPIReference-Managed FDO_API_managed.chm

FDOSDKReadme FDO_SDK_ReadMe.chm

FDOProviderforArcSDE ArcSDE_Provider_API.chm

FDOProviderforMySQL MySQL_Provider_API.chm

FDOProviderforODBC ODBC_Provider_API.chm

Page 5: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

FDOProviderforOracle Oracle_Provider_API.chm

FDOProviderforRaster Raster_Provider_API.chm

FDOProviderforSDF SDF_Provider_API.chm

FDOProviderforSHP SHP_Provider_API.chm

FDOProviderforSQLServer SQLServer_Provider_API.chm

FDOProviderforWMS WMS_Provider_API.chm

FDOScope

FDOprovidesagenericinterfacetoanumberofback-enddatasourcetechnologiesforthestorageandretrievalofGISdata.Italsoprovidesamodelforextendingthisgenericinterfacetoadditionaldatasourcetechnologies.TheimplementationoftheinterfaceforaparticulartechnologyiscalledanFDOprovider.

BesidesusingtheFDOAPItodevelopFDOproviderstosupportadditionaldatasourcetechnologies,youcanalsouseittobuildapplicationsthatconnecttoandconfigureFDOproviders.

FDOSamplesandC++HeaderFiles

FDOsampleprojectsandC++headerfilesareinstalledwiththeAutoCADMap3DSDKonly.TheyarenotincludedwithAutoCADMap3D.

Page 6: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

BeforeYouBegin

TodevelopapplicationsusingAutoCADMap3DObjectARX,youshouldbefamiliarwithAutoCADObjectARXandalsotheAutoCADMap3DandAutoCADapplications.

Forinformationabout... Referto...

AutoCADObjectARX AutoCADObjectARXDocumentation,arxdoc.chm,whichislocatedinthedocsfolderofyourObjectARXinstallation.

AutoCADMap3DandAutoCAD

AutoCADMap3DHelp,whichislocatedintheHelpfolderofAutoCADMap3Dinstallations.

ImportantNoteAutoCADMap3DHelpisespeciallyusefulforundestandinghowAutoCADMap3Dmodelsitsdomain,forunderstandingdrawingsetsandqueries,forexample.SincedetailedexplanationsoftheseparadigmsareavailableinAutoCADMap3DHelp,AutoCADMap3DObjectARXHelpexplainsthemonlybrieflyornotatall.BeforeyouattempttoautomateorextendanAutoCADMap3Dfeature,reviewthesubjectinAutoCADMap3DHelp.

CompatabilityofObjectARXandAutoCADMap3D

AutoCADMap3DObjectARXmustbeinstalledinanexistingAutoCADObjectARXinstallation,andtheAutoCADMap3DandAutoCADObjectARXversionsmustbecompatiblewitheachotherandwiththeversionofAutoCADMap3Dthatyouareextending.Forexample,AutoCADMap3DObjectARX

Page 7: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

2007mustbeinstalledintoanexistingAutoCADObjectARX2007installation,andyouneedbothAPIstobuildObjectARXapplicationsforAutoCADMap3D2007.

ComponentsNotIntendedforPublicUse

Inmanycases,butnotall,whereacomponentisdocumentedbutnotintendedforpublicuse,thisfactisnotedinthecomponentdescription.Withthefollowingcomponents,however,thisnotemaynotbepresent.Avoidthemnevertheless.TheyareintendedforinternalAutodeskuseonly.

ImportantNoteBeawareofthesecomponents.Avoidusingtheminyourapplications.

Componentstoavoid:

AcMapMbTileNameGeneratorGridClassAcMapMbTileNameGeneratorDataClassAcMapMbTileNameGeneratorSequenceClassAcMapMbTileNameGeneratorClass

ReviewWhat'sNew

Besideshighlightingnewfunctionality,theWhat'sNewtopicalsolistsObjectARXcomponentsthatarenotintendedforpublicuse,inadditiontothecomponentsthatarealreadylistedin"ComponentsNotIntendedforPublicUse"above.Eventhoughtheyarepresentinpublicheaderfilesandmayevenbepartiallydocumented,theyareintendedforinternalAutodeskuseonly.

ImportantNoteBeawareofthesecomponents.Avoidusingtheminyourapplications.

ReturnDescriptionsWithMultipleReturnCodesCited

Withreturndescriptionsoffunctionswheremultiplereturncodesarecited,notethatthelistofreturncodesisnotnecessarilyexhaustive.Undocumentedreturncodesarepossible.

Page 8: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

Forexample,thereturndescriptionsforObjectARXfunctionsFullEdge::GetHalfEdge()andAcDbBasicFilter::FilterObjects()shouldsimplysay,"ReturnseOkoranerrorcode."Theirlistsofreturncodesarelengthyenoughthatyoumightthinktheyareexhaustive,buttheyarenot.

TypographicConventions

HowItLooks WhatItIs

anteatereater TextyouenterattheAutoCADMap3Dcommandprompt.

dirname\filename.ext Namesoffilesanddirectories.

dir*.h/b/o:n>dir.txt

Code.

NoteAllfilenamesanddirectorypathsinAutoCADMap3Darecasesensitive.

Page 9: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

AutoCADMap3D2009SDK:What'sNew

What'sneworchangedsincethepreviousrelease.

GeospatialPlatformAPIPromotedfromPreviewtoProduction

Likewiseitsdocumentation:

Title FileName

AutoCADMap3DGeospatialPlatformDeveloper'sGuide

sdk.gis.platform.dev.chmsdk.gis.platform.dev.pdf

AutoCADMap3DGeospatialPlatformReference

sdk.gis.platform.ref.chm

AutoCADMap3DGeospatialPlatformSupplementReference

sdk.gis.platform.supplement.ref.chm

TheGeospatialPlatformAPIisexposedas.NETonly.Itcoversthefollowingareasoffunctionality:

ResourceServiceFeatureServiceMappingService

NewDocumentation

Page 10: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

AutoCADMap3DSDKHelp,sdk.doc.main.chm,includestwonewdocumentationcomponents.

Title FileName

AutoCADMap3DDeveloperSamples sdk.samples.chmsdk.samples.pdf

AutoCADMap3DSDKHelpanditscomponentHelpfilesareinstalledintheDocsfolderofSDKinstallations.Solongasthesefilesresideinthesamefolder,allcomponentHelpcontentisavailableontheContentstabofAutoCADMap3DSDKHelpwhenyouopenit.

NewSampleProjects

ClassifyFeatureExplorerFeatureInspectorQueryAndLocate

OtherChanges

TheGeospatialPlatformAPIisnowmoreconsistentandmoreefficient.Changesinclude

BridginggapsintheareaofinteroperatingbetweenCADentitiesandFDOfeatures.Specifically,wehaveaddedmethodstoAcMapFeatureEntityServicetoimprovesupportforapplicationsworkingwiththeAutoCADandGeospatialPlatformAPIstomanageAutoCADselectionsets,checkedentities,andFDOfeatures.AddingAcMapMap.SetViewScale,whichzoomsthemaptoagivenscale,tocomplementtheexistingAcMapMap.GetViewScale,whichmerelyreportsthescale.RenamingAcMapApiMgd.dlltoAutodesk.Map.Platform.dlltocomplywith.NETnamingconventions.

Page 11: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

Enhancingeventstoinclude<ResourceName><OperationName>Canceledeventscorrespondingto<ResourceName>ToBe<OperationName>events.(By<OperationName>wemeanoperationslikeAdded,Modified,Updated,andsoon.)Withtheseeventsadded,applicationsthatdobookkeepingwhileanoperationproceedscanrollbacktheirbookkeepingiftheoperationfails.AddinganMgFeatureQueryOptionsparametertoAcMapLayer.SaveFeatureChangessoanapplicationcancommitasubsetoffeaturesthataremodifiedinsteadofall.AddingAcMapLayer.GetLockedFeaturestobeconsistentwithwhatisinFeatureServiceandwiththeabilityofapplicationstouselockandunlockcommandswiththeUpdateFeaturesmethod.RemovingdirectinstantiationofAcMapLayerandintroducingastaticAcMapLayer.Createmethod,whichletsapplicationsreturnthecorrecttypeoflayer(vectororgrid)dependingonthetypeoflayerdefinitionthenewlayerisbasedon.Andbesides,withAcMapLayer.Create,youcanwritecleaner,moreeasilymaintainedcode.

Page 12: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

What'sNewinPreviousReleases

Featuresthatwereneworchangedinpreviousreleases.

20082007200620052004

Page 13: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

AutoCADMap3DSDK2008:What'sNew

Thefollowingfeaturesareneworchanged.

NewGeospatialPlatformAPIPreview

Thisisapreviewrelease,whichmeansthattheGeospatialPlatformAPIisbynomeanssetinstone.Weinviteyourcommentsandsuggestions,especiallywhereyoucanidentifymissingpieces.

Pleaseletusknowwhatelseyouneed!

TheGeospatialPlatformisexposedas.NETonly.Itcoversthefollowingareasoffunctionality:

ResourceServiceFeatureServiceMappingService

NewDocumentation

AutoCADMap3DSDKHelp,sdk.doc.main.chm,includesfournewdocumentationcomponents.

AllofthenewdocumentationcomponentsareavailableontheContentstabofAutoCADMap3DSDKHelpwhenyouopenit,solongastheyallresideinthesamefolder.AndallofthemareincludedintheBetareleaseexceptasnoted.Developer'sguidecomponentsareduplicatedinPDFformat.

Page 14: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

Title FileName

AutoCADMap3DGeospatialPlatform.NETDeveloper'sGuide(Preview)

NoteIncludedintheBeta2release,butitisincomplete.

sdk.dev.net.gis.chm

AutoCADMap3DGeospatialPlatform.NETReference(Preview)

sdk.ref.gis.platform.chm

AutoCADMap3D.NETReferenceSupplement(Preview)

sdk.ref.net.supp.chm

AutoCADMap3D.NETDeveloper'sGuide

NoteIncludedintheBeta2release,butitisincomplete.

sdk.dev.net.chm

AutoCADMap3DSDKHelpanditscomponentHelpfilesarelocatedintheDocsfolderoftheSDKinstallation.

Page 15: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

What'sNewin2007

NoteTheproductnameforSDKreleases2007andearlierwasAutodeskMap3DObjectARX.

Thefollowingfeaturesareneworchangedinthe2007release.

NewAreasofFunctionality

TherearenonewareasoffunctionalityineitherObjectARXorManagedObjectARX.

DeletedAreasofFunctionality

FDOEnablerAPIhasbeenremovedfrombothObjectARXandManagedObjectARX.

UnicodeSupport

Unicodecharactersarenowacceptableinallstringarguments.SeetheAutoCADdocumentationformoreinformation.

MicrosoftVisualC++Version8.0Required

AutodeskMap3DObjectARXrequiresMicrosoftVisualC++version8.0.

ObjectClassandFeatureClass

Page 16: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

WheretheObjectARXdocumentationusesthetermsfeatureclass,keepinmindthattheUIdocumentationhasreplacedthistermwithobjectclass.ThereasonforthechangeistorestrictfeatureterminologytotheFDOcontext(whichincidentallyisnotaddressedbytheObjectARXAPI),sothatwecanmakeacleardistinctionbetweenthefollowingtwokindsofmapcomponents:

Geospatialcomponents,whichisstoredinFDOfeaturesources,andarereferredtoasfeatures.Drawingcomponents(DWG-baseddata),whichisstoredinAutodeskMapdrawings,andarereferredtoasobjects.

WearenotchangingtheterminologyintheAPIbecausesomeAPIcomponentshavefeatureintheirnames,andchangingnamesofAPIcomponentsistoodisruptive.

NewComponentsNotIntendedforPublicUse

Somecomponentsinthefollowingsection,"ChangestoExistingFunctionality,"arenotintendedforpublicuse.

ImportantNoteBeawareofthesecomponents.Avoidusingtheminyourapplications.

Avoidcomponentsthatarealtogethernew.Butitissafetousecomponentswhereallthathaschangedistheirname(orthenameofaparameteroranenumeratorelement),andtheirfunctionalityisthesameasbefore.Withenumerations,itisalsosafetouseanyenumeratorelementsthathavebeenaddedtothem.

ChangestoExistingFunctionality

Changesaresummarizedinthefollowingtable.

HeaderFilesandClasses Changes

acmapmbmapbook.h PublicbitmaskenumAcMapMbMapBook::EModificationTypehasnew

Page 17: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

enumerators:

kMapBookTileNameChanged=8kMapBookTileAdjacencyModified=16

acmapmbmapsheet-layoutsettings.hAcMapMbMapSheet-LayoutSettings

acmapmbtile-generatorsettings.hAcMapMbTile-GeneratorSettings

acmapmbtile-generatorsettingsarea.hAcMapMbTile-GeneratorSettingsArea

acmapmbtile-generatorsettingsgrid.hAcMapMbTile-GeneratorSettingsGrid

acmapmbtile-generatorsettingsmanual.hAcMapMbTile-GeneratorSettingsManual

acmapmbtilename-generatorsettings.hAcMapMbTileName-GeneratorSettings

acmapmbtilename-generatorsettingsdata.hAcMapMbTileName-

EachoftheseAcMapMbXXclasseshastwonewvirtualfunctions:

virtualAcad::ErrorStatusxmlInFields(AcMapMbXmlFiler*pFiler);

virtualAcad::ErrorStatusxmlOutFields(AcMapMbXmlFiler*pFiler)const;

Page 18: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

GeneratorSettingsData

acmapmbtilename-generatorsettingsgrid.hAcMapMbTileName-GeneratorSettingsGrid

acmapmbtilename-generatorsettingssequence.hAcMapMbTileName-GeneratorSettingsSequence

acmapmbtilename-generatorsettings.hAcMapMbTileName-GeneratorIndexer

ClassAcMapMbTileNameGeneratorIndexertwonewvirtualfunctions:

virtualAcad::ErrorStatusStreamIn(AcMapMbXmlFiler*pFiler);

virtualAcad::ErrorStatusStreamOut(AcMapMbXmlFiler*pFiler)const;

adeads.hGlobaldata-extension(ADE)functions

mapads.hGlobalmappingfunctions

topoads.hGlobaltopologyfunctions

Allfunctionsdefinedinthexxads.hheaderfilesarenowdeclaredasextern"C"forC++compilation.Notethatthesefunctionsaredeprecatedinfavorofnewerclass-basedAPIs.

dmdefaultelement.h Newfile.

Page 19: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

dmdisplayelement.h ClassAcMapDMStyleReferenceIteratorhasbeenrenamedAcMapDMAllStyleReferencesIterator

ClassAcMapDMElementhastwonewfunctions:DisplayNameandRemoveEntityFromAcquisition

FunctionGetStyleReferenceIteratorhasbeenreplacedbyGetAllStyleReferencesIterator.

FunctionsAddStyle,RemoveStyle,andMoveStylewhichusedtheolditeratorname,havebeenchangedaccordingly.

Thefollowingfunctionshavebeenadded:

virtualAcad::ErrorStatusRender(Renderer&renderer;);

virtualvoidOnMapCSChanged(constACHAR*oldCS,constACHAR*newCS);

Acad::ErrorStatusExcludeEntitiesFromStylization(constAcDbObjectIdArray&ids);

Acad::ErrorStatusRemoveEntitiesFromStylizationExclusion(constAcDbObjectIdArray&ids);

Page 20: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

dmdisplayitem.h ClassAcMapDMItemIteratorhasbeenrenamedAcMapDMAllItemsIterator.ClassAcMapDMItemIteratorwassubclassedfromAcMapDMAllDrawOrderItemsIterator,butitsreplacement,AcMapDMAllItemsIterator,isnot.

MemberfunctionRewindhasbeenadded.

MemberfunctionGetObjecthasbeenremoved.

EnumerationAcMapDMItem::ELegendDetailLevelnolongerincludestheenumeratorkLegendCollapsed

dmdisplaymanagement.h ClassAcMapDMDisplayManagementhasthreenewfunctions:

Acad::ErrorStatusGetGWS(IGWS**pGWS,AcDbDatabase*pDb);

Acad::ErrorStatusGetVectorElementIdForFeatureLayer(AcDbObjectId&elementId,AcDbDatabase*pDb,constTCHAR*layerSourceName);

Acad::ErrorStatusGetEntityIdForFeatureOnLayer(AcDbObjectId&entId,AcDbDatabase*pDb,constTCHAR*layerSourceName,intfeatureId);

Page 21: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

dmdisplaystyle.h ClassAcMapDMStylehasanewenumeration:

enumCoExistenceFlags{kNotApplicable=0,kAllStyles,kSingleton,kLikeKind};

Andfournewfunctions:

virtualconstACHAR*DisplayName()const;

virtualAcad::ErrorStatusRefresh(void*&pCookie,AcDbObjectIdentityId,Adesk::UInt32flag=0);

virtualAcad::ErrorStatusRefresh(void*&pCookie,constACHAR*pTopoName,longlTopoElemId,Adesk::UInt32flag=0);

virtualAcad::ErrorStatusdeepClone(AcDbObject*pOwnerObject,AcDbObject*&pClonedObject,AcDbIdMapping&idMap,

Page 22: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

Adesk::BooleanisPrimary=true)const;

dmgroup.h ToaccommodatechangingthenameofAcMapDMItemIteratortoAcMapDMAllItemsIterator,memberfunctionsofclassAcMapDMGrouphavebeenchangedaccordingly.

dmmap.h ClassAcMapDMMaphaschanged:

FunctionGetDrawOrderIteratorhasbeenremoved.

AcMapDMDrawOrderIteratorhasbeenreplacedwithAcMapDMAllDrawOrderItemsIterator.

Thefollowingfunctionshavebeenrenamed:

OldName NewName

NumScales NumScaleThresholds

GetScale GetScaleThreshold

SetCurrentScale SetCurrentScaleThreshold

GetCurrentScale GetCurrentScaleThreshold

AddScale AddScaleThreshold

CopyScale CopyScaleThreshold

RemoveScale RemoveScaleThreshold

GetMapScaleFor GetThresholdFor

ModifyScale ModifyScaleThreshold

Page 23: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

FunctionSetCurrentScalehasanadditionalparameter:regen.

Thefollowingfunctionsarenew:

staticboolIsInfintyThreshold(doubledScale);

staticdoubleInfinityThreshold();

Acad::ErrorStatusSetExaggeration(doubledValue);

doubleGetExaggeration()const;

Acad::ErrorStatusSet3dGridPercent(intiValue);

intGet3dGridPercent()const;

Acad::ErrorStatusSetExtent(doubledMinX,

Page 24: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

doubledMinY,doubledMaxX,doubledMaxY);

Acad::ErrorStatusRemoveExtent();

Acad::ErrorStatusGetExtent(double&dMinX,double&dMinY,double&dMaxX,double&dMaxY)const;

Acad::ErrorStatusGetSun(double&dAzimuth,double&dAltitude)const;

Acad::ErrorStatusSetSun(doubledAzimuth,doubledAltitude);

dmseannotationstyle.h ClassAcMapDMSEAnnotationStylehasanewfunction:

virtualAcMapDMStyle::CoExistenceFlagsCoExistenceType()const;

Page 25: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

dmthematicstyle.h ClassAcMapDMThematicBuildRangesErrorCodehasanewfunction:

virtualAcMapDMStyle::CoExistenceFlagsCoExistenceType()const;

dmthematictable.h TBD.

dmtopoqueryelement.h ClassAcMapDMTopoQueryElementhastwonewfunctions:

virtualAcad::ErrorStatusAddStyle(AcDbObjectId&styleRefId,AcMapDMStyle*pStyle,AcMapDMAllStyleReferencesIterator&Position);

virtualAcad::ErrorStatusAddStyle(AcDbObjectId&styleRefId,constAcDbObjectId&styleId,AcMapDMAllStyleReferencesIterator&Position);

mapreactors.h ClassAcMapProjectReactorhasthreenewfunctions:

virtualboolCoordinateSystemIsToBeChanged(AcMapProject*pproject,constACHAR*oldCS,

Page 26: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

constACHAR*newCS);

virtualvoidCoordinateSystemChanged(AcMapProject*pproject,constACHAR*oldCS,constACHAR*newCS);

virtualvoidCoordinateSystemChangeVetoed(AcMapProject*pproject,constACHAR*oldCS,constACHAR*newCS);

Page 27: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

What'sNew2006

NoteTheproductnameforSDKreleases2007andearlierwasAutodeskMap3DObjectARX.

Thefollowingfeatureswereneworchangedinthe2006release.

NewAreasofFunctionality

AlthoughFeatureDataObjects(FDOClient)andMapPlottingarenotnewareasoffunctionality,theirclass-basedimplementationsinthisreleaseareentirelynew.

NoteThepreviousimplementationforFeatureDataObjectsisnolongeravailable.Applicationsbasedonitarenolongervalidandwillnotcompile.ThepreviousimplementationforMapPlotting,althoughdeprecated,remainsinplace.

Feature HeaderandLibraryFiles

FDOEnabler AcMapFdo*.hAcmapfdoenabler.lib

MapBook AcMapMB*.hAcMapMapBook.lib

CustomObjectProtocolExtensions

AcMapQueryPE.hAcMapGeometryPE.hmaparx.lib

Page 28: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

ChangedAreasofFunctionality

Feature HeaderandLibraryFiles

DisplayManager AcMapDM*.hDm*.hAcMapDisplayManagement.lib

ManagedWrapperClasses

TheManagedWrapperClassespresentallofObjectARXasManagedC++,whichletsyouaccessObjectARXfunctionalityusingVB.NET,C#,oranyother.NETlanguage.

Page 29: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

What'sNewin2005

NoteTheproductnameforSDKreleases2007andearlierwasAutodeskMap3DObjectARX.

Thefollowingfeatureswereneworchangedinthe2005release.

NewObjectARXAPIs

ThefollowingnewareasoffunctionalityhavemorethandoubledthesizeandscopeofObjectARXforAutodeskMap3Dbyaddingmorethan100newclassesandalmost1700newfunctions.

AnnotationClassificationCoordinateSystemsCreateCentroidsDataSourcesDisplayManagementFDOClientImport-ExportObjectFilterTopologyUserManagement

Inaddition,AutodeskMap3Ddocumentationnowincludesadeveloper'sguide.Typically,eachoverviewinthedeveloper'sguideisasingletopic,howeverlong,whichmakesiteasytoprintinasinglestep.

WiththisreleaseofAutodeskMap3D,ObjectARXAPIcoverageandAutodeskMap3DUIcoverageareaclosematch.

Page 30: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

AdditionstoDataExtensionClasses

Onenewclass,AcMapHostApplicationServices.Eightexistingclasseshavenewfunctionsadded.Onenewenumeration.

FDOAPI

YouneedtheFDOAPIifyouaredevelopingcustomFDOprovidersorFDOclientsliketheOracleSpatialproviderandtheFDOclientthatareincludedwithAutodeskMap3D.YoucanfindoutmoreabouttheFDOAPIattheAutodeskDeveloperCenter,whereFDOdocumentationisavailablefordownload.NotethattheFDOheaderand.libfilesareincludedwithAutodeskMap3DObjectARX.

PointsandSurfacesAPI

PointsandSurfacesisanewActiveXAPI.ActiveXAPIsareincludedwithAutodeskMap3D,butnotwithObjectARX.ToviewPointsandSurfacesdocumentation,dothefollowing.IntheHelpfolderofanAutodeskMap3Dinstallation,openacmapatm.chm.

GlobalFunctionSets

The"ADS"functionsets,whichformerlyweredocumentedinAutodeskMap3DADS/AutoLISPHelp,arenowdocumentedintheDeveloper'sGuideandReferenceforObjectARX.AllofthesefunctionsareglobalObjectARXfunctions.

DataExtensionFunctionsMapPlottingFunctionsTopologyFunctions

AutodeskMap3DADS/AutoLISPHelp,acmapads.chm,isnolongerincludedinObjectARXdocumentation.TheAutoLISPpartofADS/AutoLISPHelpisnowdocumentedinanewHelpfile,theAutoLISPAPIReference,acmaplisp.chm,

Page 31: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

whichisavailableintheHelpfolderofAutodeskMap3Dinstallations.

NewDrawingCleanupVariables

Newcleanupvariablesfor

AddingfeatureclassestotheIncludeset.ExcludingentitiesfromtheAnchorset.Markingapparentintersectionerrors.Deletingduplicatesandsnappingclusterednodes.Weedingpolylines.

NewCleanGroupTypeConstants

512 Apparentintersections1024Weedpolylines

Theseconstantsareusedwiththefollowingfunctions:

tpm_cleanactionlistgetattpm_cleanactionlistinstpm_cleangrouptype

Thecompletesetofconstantsislistedwithtpm_cleangrouptype.

NewDrawingCleanupFunctions

tpm_cleancreatedss Getscreatedentitiesfollowingacleanupprocess.tpm_cleanmodifiedss Getschangedentitiesfollowingacleanupprocess.tpm_cleanunchangedss Getsunchangedentitiesfollowingacleanupprocess.

Page 32: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

What'sNewin2004

NoteTheproductnameforSDKreleases2007andearlierwasAutodeskMap3DObjectARX.

Thefollowingfeatureswereneworchangedinthe2004release.

AcDbMPolygonMoved

TheAcDbMPolygonclasshasbeenmovedfromtheAutodeskMap3DObjectARXAPItotheAutodeskObjectARXAPIandisnowdocumentedintheAutodeskObjectARXReference.

TrueColor

MostAutodeskMap3Dcolorsituations,includingqueryingandpropertyalteration,nowsupporttrue-colorformattedstringsinadditiontocolorindexes.

Forexample,youcanusetruecolorsinsituationsassociatedwiththefollowingAPIcomponents.

IntheAcMap::EAlterationTypeenumeration,whichidentifiespropertyalterationtypes,thekAlterationColorenumerator.IntheAcMap::EPropertyTypeenumeration,whichidentifiesthepropertytypeonwhichapropertyconditionisbased,theAcMap::kColorenumerator.IntheAcMap::EErrCodeenumeration,whichspecifiesasetofreturncodes,theAcMap::kErrInvalidColor(1806)enumeratorandtheAcMap::kErrTopInvalidColor(2019)enumerator.

Page 33: AutoCAD Map 3D 2009 SDK - Documentation & Help · The three developer's guides are also available as s, which are located in the same folder as their CHM equivalents. In addition

TheAcMapQueryConditionsubclasses,AcMapDataCondition,AcMapLocationCondition,AcMapPropertyCondition,andAcMapSQLCondition,whichrepresentthefourtypesofquerycondition,withtheircondition-definingfunctionsforconditionsthatcaninvolvecolor.TheAcMapPropertyAlterationclass,whichrepresentssimplepropertyalterationssuchascolorchanges.Textandhatchalterations,whichaddtextlabelsandapplyhatchpatternstoqueriedobjects,arerepresentedbytwoAcMapPropertyAlterationsubclasses:AcMapTextAlterationandAcMapHatchAlteration.Apropertyalterationdefinitioncancontainanyofthethree.TheGetandSetOptionValuefunctionsoftheAcMapProjectclass,withtheirpcNamearguments,ColorForAddandColorForRemove,whicharelistedunderQueryOptionsintheProjectOptionstopic.

PropertyandDataQueriesInvolvingFeatureClasses

Toletyouspecify,whenqueryingfeatureclassobjects,whethertoincludesubclassesofthetargetfeatureclass,anoptionalFlagparameterhasbeenaddedtotheAcMapDataConditionandAcMapPropertyConditionconstructors.ToletyouvieworchangetheFlagsettingofadataorpropertycondition,twofunctions,Flag()andSetFlag(),havebeenaddedtotheAcMapDataConditionandAcMapPropertyConditionclasses.

MicrosoftVisualC++Version7.0Required

AutodeskMap3DObjectARXrequiresMicrosoftVisualC++version7.0.MicrosoftVisualC++.NET2003,acomponentofVisualStudio.NET2003,code-namedEverett,isnotsupported.