Сохраню себе тут на всякий случай.
module AddLine
open Autodesk.AutoCAD.ApplicationServices
open Autodesk.AutoCAD.DatabaseServices
open Autodesk.AutoCAD.EditorInput
open Autodesk.AutoCAD.Geometry
open Autodesk.AutoCAD.Runtime
[<CommandMethod("Z1")>]
let z1()=
let db = HostApplicationServices.WorkingDatabase
use tr = db.TransactionManager.StartTransaction()
let bt = tr.GetObject(db.BlockTableId, OpenMode.ForWrite) :?> BlockTable
let ms = tr.GetObject(bt.[BlockTableRecord.ModelSpace], OpenMode.ForWrite):?> BlockTableRecord
let p1 = new Point3d(0., 0., 0.)
let p2 = new Point3d(10., 20., 0.)
let acLine = new Line(p1, p2)
acLine.SetDatabaseDefaults()
let addToDatabase ent =
ms.AppendEntity(ent) |> ignore
tr.AddNewlyCreatedDBObject(ent, true)
addToDatabase acLine
tr.Commit();
Туповатый blogger.com коверкает код, так что прикреплю еще и картинку, как это должно выглядеть:
Комментариев нет:
Отправить комментарий