← Inbox

C3D-CERTS · Place plat certificate blocks error

Surveyor's Certificate (w/ OCGA 15-6-67 statement + closure line), Owner's Acknowledgement (dedication acreages pre-filled 0 for the BLA), City of South Fulton Director approval, and Fulton County Health Dept block. Four separate MTexts, 0.08in, paper space 22X17 C, layer C-ANNO-CERT.

Script file
C3D-CERTS.cs
Target
active document · paper space
Author
claude
Approved
yes · auto-auth
Timeout
60s

C# payload

// Plat certificate blocks for job 260619 (Lot Re-Configuration / BLA, City of South Fulton).
// Each cert is a SEPARATE MText so it can be moved independently. Paper space, sheet inches,
// 0.08" text on layer C-ANNO-CERT. Monospace-ish alignment relies on the style's font.
// BLA has no public dedication so the acreage lines are pre-filled with 0.
// Host owns Tx; host regens after commit.
const string LAYOUT = "22X17 C", LAYER = "C-ANNO-CERT";
const double H = 0.08;

var blocks = new (string name, double x, double y, double w, string txt)[] {
    ("SURVCERT", 0.75, 15.9, 6.6, "SURVEYOR'S CERTIFICATE\P\PIt is hereby certified that this Boundary Line Adjustment / Recombination Plat is true and correct and was prepared from an actual survey of the property, made by me or under my supervision; that all monuments shown hereon actually exist, or are marked as "Future", and their location, size, type and material is correctly shown.\P\PThis plat has been calculated for closure and is found to be accurate within one foot in __________ feet.\P\PAs required by subsection (d) of O.C.G.A. Section 15-6-67, this plat has been prepared by a land surveyor and approved by all applicable local jurisdictions for recording as evidenced by approval certificates, signatures, stamps, or statements hereon.\P\P\P________________________________________\PG. L. Sawhney, Registered Georgia Land Surveyor No. 2547\P(affix seal)"),
    ("OWNERACK", 0.75, 12.6, 6.6, "OWNER'S ACKNOWLEDGEMENT\P\PSTATE OF GEORGIA\PCITY OF SOUTH FULTON\PFULTON COUNTY\P\PThe owner of record of the land shown on this plat and whose name is subscribed thereto, in person or through a duly authorized agent, hereby acknowledges that this plat was made from an actual survey, dedicates to the public for use forever those water and sewer improvements constructed in accordance with this plat that are specifically labeled as dedicated to the public, and dedicates to the City of South Fulton, the complete ownership and use of all public streets and dedicated right-of-way specifically labeled as public streets and dedicated right-of-way, and dedicates to the use of the public forever the following:\P\PPublic Streets                 0        acres\PPublic Sewer Easements         0        acres\PPublic Drainage Easements      0        acres\PPublic Parks/Open Space        0        acres\P\P\P______________________________          ______________________________\PTyped Name of Subdivider                Typed Name of Owner of Record\P\P______________________________          ______________________________\PSignature of Subdivider                 Signature of Owner of Record\P\P______________________________          ______________________________\PDate                                    Date\P\P(All owners must sign the original in permanent type BLACK ink prior to submittal. Ballpoint and felt pens are not acceptable.)"),
    ("DIRAPPR", 0.75, 7.6, 6.6, "MINOR SUBDIVISION PLAT APPROVAL\P\PThe Director of the Community Development and Regulatory Affairs Department of the City of South Fulton, Georgia, certifies that this plat complies with the City of South Fulton Zoning Resolution, Conditions of Zoning, and the City of South Fulton Subdivision Regulations as amended.\P\P\P_________________________________________          ________________\PFor the Director, Community Development Services    Date"),
    ("HEALTHDEPT", 0.75, 5.7, 6.6, "FULTON COUNTY HEALTH DEPARTMENT\P\PThis subdivision, as shown, is approved upon the condition that sewage disposal and water supply facilities are in compliance with Chapter 34, Articles IV and XI, Sewage Disposal and Drinking Water Supply of the Fulton County Health Department regulations and in accordance with the requirements below:\P\PWATER SUPPLY                            SEWAGE DISPOSAL\P(  ) Public Water Supply                (  ) Public Sanitary\P(  ) Individual Water Supplies          (  ) Individual Onsite Sewage\P\PService Requirements - S/D Type         Service Requirements - S/D Type\P(  ) Type "A"   (  ) Type "B"           (  ) Type "A"  (  ) Type "B"  (  ) Type "C"  (  ) Type "D"\P\P\P_________________________               _______________________________\PDate                                    Fulton County Health Department\P\P_________________________               _______________________________\PRevision Date                           Fulton County Health Department")
};

var layDict = (DBDictionary)Tx.GetObject(Db.LayoutDictionaryId, OpenMode.ForRead);
var layout  = (Layout)Tx.GetObject(layDict.GetAt(LAYOUT), OpenMode.ForRead);
var ps      = (BlockTableRecord)Tx.GetObject(layout.BlockTableRecordId, OpenMode.ForWrite);
EnsureLayer(LAYER, 7);

int n = 0;
foreach (var b in blocks)
{
    var mt = new MText {
        Location   = new Point3d(b.x, b.y, 0.0),
        Contents   = b.txt,
        TextHeight = H,
        Width      = b.w,
        Attachment = AttachmentPoint.TopLeft,
        LineSpacingFactor = 1.0,
    };
    mt.Layer = LAYER;
    ps.AppendEntity(mt);
    Tx.AddNewlyCreatedDBObject(mt, true);
    var e = mt.GeometricExtents;
    Log($"  {b.name,-11} at ({b.x},{b.y})  h={e.MaxPoint.Y - e.MinPoint.Y:F2}\"  bottom={e.MinPoint.Y:F2}  handle={mt.Handle}");
    n++;
}
Log($"Placed {n} certificate blocks on '{LAYOUT}' layer '{LAYER}', each a separate MText.");

Result

Status
error
Drawing file
C:\Users\sanja\OneDrive\_SurveyDisco\260619 - 3625 Stonewall Tell Rd, Atlanta, GA 30349, USA\260619 - 3625 Stonewall Tell Rd ROTATE.dwg
Message
Compile error: (10,58): error CS1009: Unrecognized escape sequence; (10,60): error CS1009: Unrecognized escape sequence; (10,319): error CS1026: ) expected; (10,319): error CS1003: Syntax error, ',' expected; (10,325): error CS1003: Syntax error, ',' expected; (10,391): error CS1009: Unrecognized escape sequence; (10,393): error CS1009: Unrecognized escape sequence; (10,500): error CS1009: Unrecognized escape sequence; (10,502): error CS1009: Unrecognized escape sequence; (10,755): error CS1009: Unrecognized escape sequence; (10,757): error CS1009: Unrecognized escape sequence; (10,759): error CS1009: Unrecognized escape sequence; (10,801): error CS1009: Unrecognized escape sequence; (10,859): error CS1009: Unrecognized escape sequence; (10,874): error CS1003: Syntax error, ',' expected; (11,59): error CS1009: Unrecognized escape sequence; (11,61): error CS1009: Unrecognized escape sequence; (11,79): error CS1009: Unrecognized escape sequence; (11,101): error CS1009: Unrecognized escape sequence; (11,116): error CS1009: Unrecognized escape sequence; (11,118): error CS1009: Unrecognized escape sequence; (11,747): error CS1009: Unrecognized escape sequence; (11,749): error CS1009: Unrecognized escape sequence; (11,796): error CS1009: Unrecognized escape sequence; (11,843): error CS1009: Unrecognized escape sequence; (11,890): error CS1009: Unrecognized escape sequence; (11,937): error CS1009: Unrecognized escape sequence; (11,939): error CS1009: Unrecognized escape sequence; (11,941): error CS1009: Unrecognized escape sequence; (11,1013): error CS1009: Unrecognized escape sequence; (11,1084): error CS1009: Unrecognized escape sequence; (11,1086): error CS1009: Unrecognized escape sequence; (11,1158): error CS1009: Unrecognized escape sequence; (11,1228): error CS1009: Unrecognized escape sequence; (11,1230): error CS1009: Unrecognized escape sequence; (11,1302): error CS1009: Unrecognized escape sequence; (11,1348): error CS1009: Unrecognized escape sequence; (11,1350): error CS1009: Unrecognized escape sequence; (12,65): error CS1009: Unrecognized escape sequence; (12,67): error CS1009: Unrecognized escape sequence; (12,352): error CS1009: Unrecognized escape sequence; (12,354): error CS1009: Unrecognized escape sequence; (12,356): error CS1009: Unrecognized escape sequence; (12,425): error CS1009: Unrecognized escape sequence; (13,68): error CS1009: Unrecognized escape sequence; (13,70): error CS1009: Unrecognized escape sequence; (13,374): error CS1009: Unrecognized escape sequence; (13,376): error CS1009: Unrecognized escape sequence; (13,433): error CS1009: Unrecognized escape sequence; (13,495): error CS1009: Unrecognized escape sequence; (13,566): error CS1009: Unrecognized escape sequence; (13,568): error CS1009: Unrecognized escape sequence; (13,641): error CS1009: Unrecognized escape sequence; (13,654): error CS1026: ) expected; (13,654): error CS1003: Syntax error, ',' expected; (13,655): error CS1003: Syntax error, ',' expected; (13,670): error CS1003: Syntax error, ',' expected; (13,671): error CS1003: Syntax error, ',' expected; (13,694): error CS1003: Syntax error, ',' expected; (13,695): error CS1003: Syntax error, ',' expected; (13,709): error CS1003: Syntax error, ',' expected; (13,710): error CS1003: Syntax error, ',' expected; (13,724): error CS1003: Syntax error, ',' expected; (13,725): error CS1003: Syntax error, ',' expected; (13,739): error CS1003: Syntax error, ',' expected; (13,740): error CS1003: Syntax error, ',' expected; (13,741): error CS1009: Unrecognized escape sequence; (13,743): error CS1009: Unrecognized escape sequence; (13,745): error CS1009: Unrecognized escape sequence; (13,818): error CS1009: Unrecognized escape sequence; (13,891): error CS1009: Unrecognized escape sequence; (13,893): error CS1009: Unrecognized escape sequence; (13,966): error CS1009: Unrecognized escape sequence; (13,1040): error CS1003: Syntax error, ',' expected
Entities
Duration
6 ms
Civil 3D
25.0.0.0

Notes

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

No notes yet.