public static void AddOverrule() { Overrule.AddOverrule(RXObject.GetClass(typeof(BlockReference)), UserDrawOverrule.TheOverrule, false); Overrule.AddOverrule(RXObject.GetClass(typeof(BlockReference)), DCadDrawEntityOverrule.TheOverrule, false); Overrule.AddOverrule(RXObject.GetClass(typeof(DBText)), DCadDrawEntityOverrule.TheOverrule, true); Overrule.AddOverrule(RXObject.GetClass(typeof(MText)), DCadDrawEntityOverrule.TheOverrule, true); }
public void ovcmd3() { var gripRule = new DonutGripRule(); gripRule.SetXDataFilter(AppName); Overrule.AddOverrule(RXClass.GetClass(typeof(Circle)), gripRule, false); Overrule.Overruling = true; }
public void ovcmd4() { var transRule = new DonutTransformRule(); transRule.SetXDataFilter(AppName); Overrule.AddOverrule(RXClass.GetClass(typeof(Circle)), transRule, false); Overrule.Overruling = true; }
public static void ImplementOverrule() { if (myOverrule == null) { myOverrule = new KeepStraightOverrule(); Overrule.AddOverrule(RXClass.GetClass(typeof(AttributeReference)), myOverrule, false); } Overrule.Overruling = true; }
public void ovcmd2() { var drawRule = new DonutDrawRule(); drawRule.SetXDataFilter(AppName); Overrule.AddOverrule(RXClass.GetClass(typeof(Circle)), drawRule, false); Overrule.Overruling = true; }
//开启夹点规则重定义 public static void openGripRule() { if (UserGripOverrule.TheOverrule != null) { Overrule.AddOverrule(RXObject.GetClass(typeof(BlockReference)), UserGripOverrule.TheOverrule, false); Overrule.AddOverrule(RXObject.GetClass(typeof(DBText)), UserGripOverrule.TheOverrule, true); Overrule.AddOverrule(RXObject.GetClass(typeof(MText)), UserGripOverrule.TheOverrule, true); } }
public static void ShowIcon() { if (ProductsDrawableOverrule.ProductsDrawableOverruleInstance == null) { UserConfigFile.SetValue("mpProductInsert", "ShowIcon", true.ToString(), true); Overrule.AddOverrule(RXObject.GetClass(typeof(Entity)), ProductsDrawableOverrule.Instance(), true); Overrule.Overruling = true; Application.DocumentManager.MdiActiveDocument.Editor.Regen(); } }
void IExtensionApplication.Initialize() { try { //Запустить PolylineCaptionOverrule polylineCaptionOverrule = new PolylineCaptionOverrule(); Overrule.AddOverrule(RXClass.GetClass(typeof(Polyline3d)), polylineCaptionOverrule, false); } catch (System.Exception ex) { CommonException(ex, "Ошибка при инициализации плагина для Civil 3d"); } }
private static void IsolinesOn() { ContextMenuIsoline.Attach(); if (_overruleIsolineDraw == null) { _overruleIsolineDraw = new IsolineDrawableOverrule(); Overrule.AddOverrule(RXClass.GetClass(typeof(Curve)), _overruleIsolineDraw, false); } if (_overruleIsolineTrans == null) { _overruleIsolineTrans = new IsolineTransformOverrule(); Overrule.AddOverrule(RXClass.GetClass(typeof(Curve)), _overruleIsolineTrans, false); } }
public void jscmd2() { var drawRule = new WallDrawRule(); drawRule.SetXDataFilter(AppName); drawRule.SetCustomFilter(); Overrule.AddOverrule(RXObject.GetClass(typeof(Line)), drawRule, false); var gripRule = new WallGripRule(); gripRule.SetXDataFilter(AppName); gripRule.SetCustomFilter(); Overrule.AddOverrule(RXObject.GetClass(typeof(Line)), gripRule, false); Overrule.Overruling = true; }
public static void togglegaslabeloverrule() { if (_GasPolylineLabelOverrule == null) { _GasPolylineLabelOverrule = new GasPolylineLabel(); Overrule.AddOverrule(RXObject.GetClass(typeof(Polyline)), _GasPolylineLabelOverrule, false); Overrule.Overruling = true; } else { Overrule.RemoveOverrule(RXObject.GetClass(typeof(Polyline)), _GasPolylineLabelOverrule); _GasPolylineLabelOverrule.Dispose(); _GasPolylineLabelOverrule = null; } Application.DocumentManager.MdiActiveDocument.Editor.Regen(); }
public static void togglepolydiroverrule() { if (_polylineDirection == null) { _polylineDirection = new PolylineDirection(); Overrule.AddOverrule(RXObject.GetClass(typeof(Polyline)), _polylineDirection, false); Overrule.Overruling = true; } else { Overrule.RemoveOverrule(RXObject.GetClass(typeof(Polyline)), _polylineDirection); _polylineDirection.Dispose(); _polylineDirection = null; } Application.DocumentManager.MdiActiveDocument.Editor.Regen(); }
public void Run() { if (_overrule == null) { _overrule = new PViewCOGOPointDO(); Overrule.AddOverrule (RXClass.GetClass(typeof(CogoPoint)), _overrule, false); } else { Overrule.RemoveOverrule (RXClass.GetClass(typeof(CogoPoint)), _overrule); _overrule = null; } Application.DocumentManager. MdiActiveDocument.Editor.Regen(); }
public static void ToggleOverrule() { // Initialize Overrule if first time run if (_drawOverrule == null) { _drawOverrule = new MyDrawOverrule(); Overrule.AddOverrule(RXObject.GetClass(typeof(Line)), _drawOverrule, false); Overrule.Overruling = true; } else { // Toggle Overruling on/off Overrule.Overruling = !Overrule.Overruling; } // Regen is required to update changes on screen Application.DocumentManager.MdiActiveDocument.Editor.Regen(); }
// 开启高亮规则重定义 public static void openHightLightRule() { try { if (hightLightRule == null) { hightLightRule = new HightLightRule(); //为实体添加亮显重定义 Overrule.AddOverrule(RXObject.GetClass(typeof(Entity)), hightLightRule, false); Overrule.Overruling = true;//开启规则重定义 } PublicMethod.Instance.RegenerateModel(); } catch (System.Exception ex) { PublicMethod.Instance.Editor.WriteMessageWithReturn(ex); } }
public static void TestOverrideToDifferentPlane() { if (overrule == null) { overrule = new PlaneOverrule(); Overrule.AddOverrule(RXObject.GetClass(typeof(Entity)), overrule, false); } else { foreach (DBObject obj in overrule.copyCollection) { obj.Dispose(); } Overrule.RemoveOverrule(RXObject.GetClass(typeof(Entity)), overrule); overrule.Dispose(); overrule = null; } Overrule.Overruling = !Overrule.Overruling; Application.DocumentManager.MdiActiveDocument.Editor.Regen(); }
public void Test() { Document acDoc = Application.DocumentManager.MdiActiveDocument; Database acCurDb = acDoc.Database; Editor acEd = acDoc.Editor; using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction()) { var blkTbl = acTrans.GetObject(acCurDb.BlockTableId, OpenMode.ForRead) as BlockTable; var mdlSpc = acTrans.GetObject(blkTbl[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord; var myWallRule = new MyWallDrawRule(); myWallRule.SetExtensionDictionaryEntryFilter("MyWallType"); Overrule.AddOverrule(RXObject.GetClass(typeof(Line)), myWallRule, false); Overrule.Overruling = true; var line = new Line(Point3d.Origin, Point3d.Origin + Vector3d.XAxis.RotateBy(Math.PI / 6, Vector3d.ZAxis) * 10); mdlSpc.AppendEntity(line); if (!line.ExtensionDictionary.IsValid) { line.CreateExtensionDictionary(); var dict = acTrans.GetObject(line.ExtensionDictionary, OpenMode.ForWrite) as DBDictionary; dict.SetAt("MyWallType", new DataTable()); } acTrans.AddNewlyCreatedDBObject(line, true); acTrans.Commit(); } }
/// <inheritdoc /> public void Initialize() { Overrule.AddOverrule(RXObject.GetClass(typeof(BlockReference)), GroundLineGripPointOverrule.Instance(), true); Overrule.AddOverrule(RXObject.GetClass(typeof(BlockReference)), GroundLineOsnapOverrule.Instance(), true); Overrule.AddOverrule(RXObject.GetClass(typeof(BlockReference)), GroundLineObjectOverrule.Instance(), true); }
//重定义生效 //注意这里的实体类型和Overrule子类中必须严格对应 public static void OverruleStart() { Overrule.AddOverrule(RXObject.GetClass(typeof(Line)), LArrowDrawOverrule3.TheOverrule, false); Overrule.AddOverrule(RXObject.GetClass(typeof(Line)), LArrowGripOverrule3.TheOverrule, false); }
public void Initialize() { Overrule.AddOverrule(RXClass.GetClass(typeof(BlockReference)), this, true); }
/// <inheritdoc/> public void Initialize() { Overrule.AddOverrule(RXObject.GetClass(typeof(BlockReference)), NodalLeaderGripPointOverrule.Instance(), true); Overrule.AddOverrule(RXObject.GetClass(typeof(BlockReference)), NodalLeaderOsnapOverrule.Instance(), true); Overrule.AddOverrule(RXObject.GetClass(typeof(BlockReference)), NodalLeaderObjectOverrule.Instance(), true); }
static public void Start() { Document doc = Application.DocumentManager.MdiActiveDocument; Editor ed = doc.Editor; PromptEntityResult res = ed.GetEntity("Select a circle to overrule"); if (res.Status != PromptStatus.OK) { return; } if (res.ObjectId.ObjectClass != RXObject.GetClass(typeof(Circle))) { ed.WriteMessage("Selected object is not a circle!\n"); return; } if (m_overruledObjects.Count == 0) { Application.DocumentManager.DocumentToBeDestroyed += new DocumentCollectionEventHandler(DocumentManager_DocumentToBeDestroyed); } if (!m_overruledObjects.Contains(res.ObjectId)) { Database db = res.ObjectId.Database; using (Transaction t = db.TransactionManager.StartTransaction()) { RegAppTable tbl = (RegAppTable)t.GetObject(db.RegAppTableId, OpenMode.ForRead, false); if (!tbl.Has(RegAppName)) { RegAppTableRecord app = new RegAppTableRecord(); app.Name = RegAppName; tbl = (RegAppTable)t.GetObject(db.RegAppTableId, OpenMode.ForWrite, false); tbl.Add(app); t.AddNewlyCreatedDBObject(app, true); } Circle c = (Circle)t.GetObject(res.ObjectId, OpenMode.ForRead); if (c.GetXDataForApplication(RegAppName) == null) { c = (Circle)t.GetObject(res.ObjectId, OpenMode.ForWrite); c.XData = new ResultBuffer( new TypedValue((int)DxfCode.ExtendedDataRegAppName, RegAppName), new TypedValue((int)DxfCode.ExtendedDataReal, Math.PI / 6) //start with 30 degrees ); m_overruledObjects.Add(res.ObjectId); } t.Commit(); } } ObjectId[] ids = m_overruledObjects.ToArray(); foreach (Overrule o in m_overrules) { o.SetIdFilter(ids); if (!m_overruleAdded) { Overrule.AddOverrule(RXObject.GetClass(typeof(Circle)), o, false); } } m_overruleAdded = true; Application.DocumentManager.MdiActiveDocument.Editor.Regen(); }
/// <inheritdoc /> public void Initialize() { Overrule.AddOverrule(RXObject.GetClass(typeof(BlockReference)), WaterProofingGripPointOverrule.Instance(), true); Overrule.AddOverrule(RXObject.GetClass(typeof(BlockReference)), WaterProofingOsnapOverrule.Instance(), true); Overrule.AddOverrule(RXObject.GetClass(typeof(BlockReference)), WaterProofingObjectOverrule.Instance(), true); }
/// <inheritdoc/> public void Initialize() { Overrule.AddOverrule(RXObject.GetClass(typeof(BlockReference)), LevelMarkGripPointOverrule.Instance(), true); Overrule.AddOverrule(RXObject.GetClass(typeof(BlockReference)), LevelMarkOsnapOverrule.Instance(), true); Overrule.AddOverrule(RXObject.GetClass(typeof(BlockReference)), LevelMarkObjectOverrule.Instance(), true); }