← Inbox

C3D-0137 · READ-ONLY: probe for a text-along-curve path [ARCTEXT-PROBE-2] done

Lists every registered runtime class whose name mentions TEXT, checks whether Editor.Command or Document.SendStringToExecute are callable from a ticket script, and tests whether an ArcAlignedText or RText class is loaded in this session. Draws nothing.

Script file
C3D-0137.cs
Target
active document · model space
Author
claude
Approved
yes · reviewer
Timeout
180s

C# payload

// READ-ONLY PROBE for a real text-along-a-curve path. Nothing is drawn.
// Runtime types are fully qualified - RXObject/RXClass/SystemObjects are not in ScriptRunner's imports.
Log("drawing: " + Db.Filename);

Log("=== registered classes mentioning TEXT ===");
try {
    var d = Autodesk.AutoCAD.Runtime.SystemObjects.ClassDictionary;
    foreach (System.Collections.DictionaryEntry de in d) {
        string nm = de.Key.ToString();
        if (nm.ToUpper().IndexOf("TEXT") >= 0) Log("   " + nm);
    }
} catch (System.Exception ex) { Log("class dictionary: " + ex.Message); }

Log("");
Log("=== can a script drive a command? ===");
try { Log("Editor.Command exists: " + (Ed.GetType().GetMethod("Command") != null)); }
catch (System.Exception ex) { Log("Editor.Command: " + ex.Message); }
try { Log("Document.SendStringToExecute exists: " + (Doc.GetType().GetMethod("SendStringToExecute") != null)); }
catch (System.Exception ex) { Log("SendStringToExecute: " + ex.Message); }

Log("");
Log("=== is an ArcAlignedText class loaded? ===");
foreach (string cls in new string[] { "AcDbArcAlignedText", "ArcAlignedText", "AcDbRText", "RText" }) {
    try {
        var c = Autodesk.AutoCAD.Runtime.RXClass.GetClass(typeof(Autodesk.AutoCAD.DatabaseServices.Entity));
        bool found = false;
        var d2 = Autodesk.AutoCAD.Runtime.SystemObjects.ClassDictionary;
        foreach (System.Collections.DictionaryEntry de in d2)
            if (de.Key.ToString() == cls) { found = true; break; }
        Log("   " + cls + ": " + (found ? "REGISTERED" : "not registered"));
    } catch (System.Exception ex) { Log("   " + cls + ": " + ex.Message); }
}

Result

Status
success
Drawing file
C:\Users\sanja\OneDrive\_SurveyDisco\260802 - 4082 Sweetbriar Ln, Forest Park, GA 30297, USA\260802 - 4082 Sweetbriar Ln.dwg
Message
Executed C3D-0137 (0 entities touched).
Entities
Duration
414 ms
Civil 3D
25.0.0.0

Log

drawing: C:\Users\sanja\OneDrive\_SurveyDisco\260802 - 4082 Sweetbriar Ln, Forest Park, GA 30297, USA\260802 - 4082 Sweetbriar Ln.dwg
=== registered classes mentioning TEXT ===
   AcDb::TextHorzMode
   AcDb::TextVertMode
   AcDbAlignedDimensionObjectContextData
   AcDbAngularDimensionObjectContextData
   AcDbAnnotScaleObjectContextData
   AcDbAssocMTextPersSubentIdPE
   AcDbAssocTextPersSubentIdPE
   AcDbBlkRefObjectContextData
   AcDbBlockPropertiesTableGripMenuContext
   AcDbBlockRefContext
   AcDbBlockRepresentationContext
   AcDbCachedBlockRefContext
   AcDbDetailSymbolDrawContext
   AcDbDiametricDimensionObjectContextData
   AcDbDimension2DimLineAndTextFacet
   AcDbDimension2ExtensionLineAndTextFacet
   AcDbDimensionObjectContextData
   AcDbDynamicBlockGripMenuContext
   AcDbEvalContext
   AcDbEvalContextIterator
   AcDbFcfObjectContextData
   AcDbGripMenuContext
   AcDbHatchScaleContextData
   AcDbHatchViewContextData
   AcDbLeaderObjectContextData
   AcDbMLeaderObjectContextData
   AcDbMLeaderStyle::TextAlignmentType
   AcDbMLeaderStyle::TextAngleType
   AcDbMLeaderStyle::TextAttachmentDirection
   AcDbMLeaderStyle::TextAttachmentType
   AcDbModelDocSymbolDrawContext
   AcDbMText
   AcDbMText::AttachmentPoint
   AcDbMText::ColumnType
   AcDbMText::FlowDirection
   AcDbMTextAttributeObjectContextData
   AcDbMTextObjectContextData
   AcDbObjectContext
   AcDbObjectContextAlDimPE
   AcDbObjectContextAngDimPE
   AcDbObjectContextBlkRefPE
   AcDbObjectContextCollection
   AcDbObjectContextCollectionIterator
   AcDbObjectContextData
   AcDbObjectContextDefaultPE
   AcDbObjectContextDimPE
   AcDbObjectContextDmDimPE
   AcDbObjectContextFcfPE
   AcDbObjectContextHatchPE
   AcDbObjectContextInterface
   AcDbObjectContextLeaderPE
   AcDbObjectContextManager
   AcDbObjectContextMLeaderPE
   AcDbObjectContextMTextPE
   AcDbObjectContextOrdDimPE
   AcDbObjectContextPE
   AcDbObjectContextRaDimLrgPE
   AcDbObjectContextRaDimPE
   AcDbObjectContextTextPE
   AcDbObjectHardPurgePE_AcDbTextStyleTableRecord
   AcDbOrdinateDimensionObjectContextData
   AcDbRadialDimensionLargeObjectContextData
   AcDbRadialDimensionObjectContextData
   AcDbSectionGripMenuContext
   AcDbSectionSymbolDrawContext
   AcDbSplineGripMenuContext
   AcDbTableGripMenuContext
   AcDbText
   AcDbText::AcTextAlignment
   AcDbTextObjectContextData
   AcDbTextStyleTable
   AcDbTextStyleTableRecord
   AcDbViewportGripMenuContext
   AcDcTextTransient
   AcDiBlockEditorContext
   AcDiContext
   AcDiContextBase
   AcDiDbObjectContext
   AcDiDrawingContext
   AcDiExternalReferenceContext
   AcDiGradientCreationContext
   AcDiHatchCreationContext
   AcDiMeasureGeomContext
   AcDiPaperSpaceContext
   AcDiRenderContext
   AcDiRolloverTipsContext
   AcDiRxObjectContext
   AcDiSelectionContext
   AcDiSunContext
   AcDiTextEditorContext
   AcDiViewportContext
   AcEdUIContext
   AcEdUiContextAttribute
   AcFloatContextMenuTransient
   AcGiContext
   AcGiContext2
   AcGiContext3dDwf
   AcGiContextParallelDrawPE
   AcGiContextualColors
   AcGiContextualColors2
   AcGiGenericTexture
   AcGiImageFileTexture
   AcGiImageTexture
   AcGiMarbleTexture
   AcGiMaterialTexture
   AcGiProceduralTexture
   AcGiTextStyle
   AcGiWoodTexture
   AcMapDMSETextStyle
   AcMapDMThematicTableItemLegendText
   AcMapDMThematicTableItemText
   AcMgContext
   AcMgContextualColors
   AcRxMemberQueryContext
   AcRxTextString
   AcRxUiCascadingContextMenuAttribute
   AcViewportContextColors
   AeccDbLabelStyleText
   AeccDbLabelStyleTextIterator
   AeccDbLabelStyleTextIteratorCurveOrSpiral
   AeccDbLabelStyleTextPropFieldObject
   AeccDbTesselatedText
   AecComponentExtentsFilter
   AeccProtExtCreatePointsBase
   AecDbCurveText
   AecDbDimensionGroupContextPE
   AecDbMvBlockRefAnnoScaleContextData
   AecDbMvBlockRefContextPE
   AecDbTextNote
   AecDimensionOverrideDataTargetExtLinePositions
   AecDimensionOverrideDataText
   AecEdUiContext
   AecGiContext
   AecMTextModifier
   AecQueryAcDbMText
   AecQueryAcDbText
   AecWallComponentExtentsFilter
   BEditContext
   CHlnkMenuContext
   Context
   DimHorizontalTextPosEnum
   DimTextDirectionEnum
   DimTextMovementEnum
   DimVerticalTextPosEnum
   ITextEditPE
   LabelGroupsInLabelSetExtensionObject
   MTextGripAppData
   OleScaleContextMenu
   SdskCurvedText

=== can a script drive a command? ===
Editor.Command exists: True
Document.SendStringToExecute exists: True

=== is an ArcAlignedText class loaded? ===
   AcDbArcAlignedText: not registered
   ArcAlignedText: not registered
   AcDbRText: not registered
   RText: not registered

Notes

What worked, what didn't, job-specific gotchas — flagged notes feed the recipes.

No notes yet.