소스 정보
- 저장소
- hebackus/c3d-api-plugin
- 최근 소스 활동
- 2026년 4월 9일 01:53
- 감지된 SKILL.md 언어
- 영어
- 스타
- 3
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/hebackus/c3d-api-plugin --skill acad-dimensions명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Corridors, baselines, regions, assemblies, subassemblies, corridor surfaces
Custom subassembly .NET design — CorridorState, SubassemblyGenerator, targets, SATemplate
Stock-subassembly pattern catalog — need→file index, worked DrawImplement recipes, point/link/shape code reference, mined from Autodesk's 120 VB stock subassemblies
SOC 직업 분류 기준
SKILL.md 표시 중
| name | acad-dimensions |
| description | Dimensions — aligned, rotated, arc, radial, angular, ordinate, text overrides |
Use this skill when creating or modifying dimension objects - linear, aligned, angular, radial, diametric, arc, and ordinate dimensions, plus dimension styles.
Dimension (abstract base)
├── AlignedDimension
├── RotatedDimension
├── ArcDimension
├── DiametricDimension
├── RadialDimension
├── LineAngularDimension2
├── Point3AngularDimension
└── OrdinateDimension
AlignedDimension dim = new AlignedDimension(
new Point3d(0, 0, 0), // first extension line point
new Point3d(100, 0, 0), // second extension line point
new Point3d(50, 20, 0), // dimension line position
"", // dimension text (empty = measurement)
db.Dimstyle); // dimension style ObjectId
btr.AppendEntity(dim);
tr.AddNewlyCreatedDBObject(dim, true);
RotatedDimension dim = new RotatedDimension(
0.0, // rotation angle (radians)
new Point3d(0, 0, 0), // first extension line point
new Point3d(100, 50, 0), // second extension line point
new Point3d(50, 70, 0), // dimension line position
"", // dimension text
db.Dimstyle);
ArcDimension dim = new ArcDimension(
new Point3d(50, 50, 0), // center point
new Point3d(100, 50, 0), // first extension line point
new Point3d(50, 100, 0), // second extension line point
new Point3d(80, 80, 0), // arc point (dimension position)
"", // dimension text
db.Dimstyle);
RadialDimension dim = new RadialDimension(
new Point3d(50, 50, 0), // center point
new Point3d(100, 50, 0), // chord point (on circle)
10.0, // leader length
"", // dimension text
db.Dimstyle);
DiametricDimension dim = new DiametricDimension(
new Point3d(100, 50, 0), // chord point (near side)
new Point3d(0, 50, 0), // far chord point (opposite side)
10.0, // leader length
"", // dimension text
db.Dimstyle);
LineAngularDimension2 dim = new LineAngularDimension2(
new Point3d(0, 0, 0), // first line start
new Point3d(100, 0, 0), // first line end
new Point3d(0, 0, 0), // second line start
new Point3d(0, 100, 0), // second line end
new Point3d(30, 30, 0), // arc point (dimension position)
"", // dimension text
db.Dimstyle);
Point3AngularDimension dim = new Point3AngularDimension(
new Point3d(50, 50, 0), // center point (vertex)
new Point3d(100, 50, 0), // first point on angle
new Point3d(50, 100, 0), // second point on angle
new Point3d(80, 80, 0), // arc point (dimension position)
"", // dimension text
db.Dimstyle);
OrdinateDimension dim = new OrdinateDimension(
true, // true = X axis, false = Y axis
new Point3d(100, 50, 0), // defining point
new Point3d(100, 80, 0), // leader end point
"", // dimension text
db.Dimstyle);
DimStyleTable dst = (DimStyleTable)tr.GetObject(
db.DimStyleTableId, OpenMode.ForWrite);
DimStyleTableRecord dstr = new DimStyleTableRecord();
dstr.Name = "MyDimStyle";
// Text settings
dstr.Dimtxt = 2.5; // text height
dstr.Dimtxsty = textStyleId; // text style
dstr.Dimgap = 1.0; // text gap
dstr.Dimtad = 1; // text above (0=centered, 1=above)
// Arrow settings
dstr.Dimasz = 2.5; // arrow size
dstr.Dimtsz = 0.0; // tick size (0 = use arrows)
// Line settings
dstr.Dimexe = 1.25; // extension line extension
dstr.Dimexo = 0.625; // extension line offset
// Scale
dstr.Dimscale = 1.0; // overall scale
// Units
dstr.Dimdec = 2; // decimal places
dstr.Dimlunit = 2; // decimal (2=Decimal, 4=Architectural)
ObjectId styleId = dst.Add(dstr);
tr.AddNewlyCreatedDBObject(dstr, true);
// Apply style to a dimension
dim.DimensionStyle = styleId;
"" for DimensionText shows the measured value; use "<>" to embed the measurement within custom text (e.g., "Length: <> mm")SetDimstyleData() to apply all dim variable overrides from a style at once; individual property sets only override specific variablesMeasurement is read-only and computed from geometry points - move the points to change the measurementRecomputeDimensionBlock(true) must be called after changing geometry points programmatically for the visual to updateArcPoint is placed - the arc point determines which of the four possible angles is measuredDimStyleTableRecord.Dimtxsty is the text style; Dimension.TextStyleId is the same thing but with a friendlier nameDimblk sets both arrows; use Dimblk1/Dimblk2 with Dimsah = true for separate arrow headsUsingXAxis = true measures X coordinates, UsingXAxis = false measures Y coordinatesGetDimstyleData() returns a temporary DimStyleTableRecord not owned by the database — call Dispose() on it after use to avoid memory leaks: using (var tmp = dim.GetDimstyleData()) { ... }DimStyleTableRecord.CopyFrom(sourceDstr) copies all dim variable values but overwrites the Name property — reassign dstr.Name immediately after calling CopyFrom()acad-geometry — Point3d coordinates for dimension definition pointsacad-mtext — MText formatting in dimension text overridesacad-layers — layer assignment for dimension entities