Cadの二次開発で頻繁に使用される線形および直線スタイル

  1. acad_iso03w100 - これは、等距離投影の描画に使用される標準 ISO 線種です。これは、さまざまな深さと高さを表すために使用される一連の平行な破線セグメントで構成されます。
  2. ダッシュ - これは一般的な実線と破線の混合線スタイルで、一連の連続した線分と間隔をあけた破線で構成され、さまざまな種類の線や境界を描画するために使用されます。
  3. CONTINUOUS - これは、固体オブジェクトの境界と輪郭を描画するために使用される標準的な実線スタイルです。
  4. HIDDEN - これは、一連のダッシュと間隔をあけた空白線で構成される隠線を描画するための線種で、隠線枠や輪郭を描画するためによく使用されます。
  5. CENTER - これは中心線を描画するために使用される線種で、一連の連続した破線で構成され、通常は軸や対称軸などをマークするために使用されます。
  6. ファントム - これは、一連の短い破線と間隔をあけた空線で構成されるファントム線を描画するための線スタイルで、通常はオブジェクトの輪郭またはエッジをマークするために使用されます。
  7. 点線 - これは一連の等間隔の点で構成される線種で、通常は輪郭やエッジをマークするために使用されます。

上記は一般的な線形タイプと線タイプの一部ですが、必ずしもすべてではありません。実際、ユーザーは特定の描画ニーズを満たすカスタム線種を作成できます。


  • 現在の画層の線種を変更します。
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;

Document doc = Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
using (Transaction tr = db.TransactionManager.StartTransaction())
{
    
    
    LayerTableRecord layer = (LayerTableRecord)tr.GetObject(db.Clayer, OpenMode.ForWrite);
    if (layer != null)
    {
    
    
        // 将图层的线型属性替换为新的线型名称
        ObjectId linetypeId = SymbolUtilityServices.GetLinetypeId(db, "新线型名称");
        layer.LinetypeObjectId = linetypeId;
        layer.DowngradeOpen();
        tr.Commit();
    }
}

その中で、Application.DocumentManager.MdiActiveDocument を通じて現在のドキュメント オブジェクトを取得し、次に SymbolUtilityServices.GetLinetypeId() メソッドを通じて新しい線種オブジェクト ID を取得し、最後にレイヤーの線種属性を新しい線種名に置き換えます。

  • 指定したオブジェクトの線種を変更します。
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;

Document doc = Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
Editor ed = doc.Editor;

PromptEntityResult res = ed.GetEntity("选择对象:");
if (res.Status == PromptStatus.OK)
{
    
    
    using (Transaction tr = db.TransactionManager.StartTransaction())
    {
    
    
        Entity ent = (Entity)tr.GetObject(res.ObjectId, OpenMode.ForWrite);
        if (ent != null)
        {
    
    
            // 将对象的线型属性替换为新的线型名称
            ObjectId linetypeId = SymbolUtilityServices.GetLinetypeId(db, "新线型名称");
            ent.LinetypeId = linetypeId;
            tr.Commit();
        }
    }
}

このうち、ユーザーが選択したオブジェクトは Editor.GetEntity() メソッドで取得され、新しい線種オブジェクト ID は SymbolUtilityServices.GetLinetypeId() メソッドで取得され、最後にオブジェクトの線種属性が に置き換えられます。新しい線種の名前。

おすすめ

転載: blog.csdn.net/ultramand/article/details/130377641