Creating Dimensions Example

Discuss and ask questions about CAD .NET library.

Moderators: SDS, support, admin

Post Reply
SLMaxwell68
Posts: 4
Joined: 22 Aug 2007, 17:56
Location: USA
Contact:

Creating Dimensions Example

Post by SLMaxwell68 » 01 Sep 2007, 01:39

Using the CAD Import .NET (Pro/Extended) libraries and C#...

Could I please see a brief example on how to create and set a dimension within a dxf drawing utilizing the CADDimension object and it's subsequent style objects?

Thanks in advance,
Scott M.

support
Posts: 3272
Joined: 30 Mar 2005, 11:36
Contact:

Post by support » 07 Sep 2007, 13:47

Hello Scott,

Here goes respective example:

Code: Select all

<font color="blue">private void</font id="blue"> btnAddDimension_Click(<font color="blue">object</font id="blue"> sender, System.EventArgs e)
{
	<font color="blue">if</font id="blue">(<font color="blue">this</font id="blue">.cadImage == null)
	{                    
		<font color="blue">this</font id="blue">.cadImage = <font color="blue">new</font id="blue"> CADImage();                    
		<font color="blue">this</font id="blue">.cadImage.UseBufMetafile = <font color="blue">false</font id="blue">;
		<font color="blue">this</font id="blue">.cadImage.InitialNewImage();
		SetLayList();                         
	}
	<font color="green">//add block</font id="green">
	CADBlock bl1 = <font color="blue">new</font id="blue"> CADBlock();               
	bl1.Name = "MyBlock";
	bl1.Color = Color.Red;
	bl1.Visibility = <font color="blue">true</font id="blue">;                              
	<font color="green">//add entities</font id="green">
	CADLine ln1 = <font color="blue">new</font id="blue"> CADLine();
	ln1.Color = Color.Red;
	ln1.Point = <font color="blue">new</font id="blue"> DPoint(259.36719270832612, 145.7242987183844, 0);
	ln1.Point1 = <font color="blue">new</font id="blue"> DPoint(219.903748708326, 145.7242987183844, 0);
	ln1.Handle = ln1.GetHashCode();
	ln1.Loaded(<font color="blue">this</font id="blue">.cadImage.Converter);
	<font color="blue">this</font id="blue">.cadImage.Converter.OnCreate(ln1);                                       
	bl1.AddEntity(ln1);                                             
	ln1 = <font color="blue">new</font id="blue"> CADLine();
	ln1.Color = Color.Red;
	ln1.Point = <font color="blue">new</font id="blue"> DPoint(259.36719270832612, 231.7242987183844, 0);
	ln1.Point1 = <font color="blue">new</font id="blue"> DPoint(219.903748708326, 231.7242987183844, 0);               
	ln1.Handle = ln1.GetHashCode();
	ln1.Loaded(<font color="blue">this</font id="blue">.cadImage.Converter);
	<font color="blue">this</font id="blue">.cadImage.Converter.OnCreate(ln1);                                       
	bl1.AddEntity(ln1);                                             
	ln1 = <font color="blue">new</font id="blue"> CADLine();
	ln1.Color = Color.Red;
	ln1.Point = <font color="blue">new</font id="blue"> DPoint(220.903748708326, 148.7242987183844, 0);
	ln1.Point1 = <font color="blue">new</font id="blue"> DPoint(220.90374870832611, 228.7242987183844, 0);     
	ln1.Handle = ln1.GetHashCode();
	ln1.Loaded(<font color="blue">this</font id="blue">.cadImage.Converter);
	<font color="blue">this</font id="blue">.cadImage.Converter.OnCreate(ln1);                                       
	bl1.AddEntity(ln1);                                                                           
	CADSolid s1 = <font color="blue">new</font id="blue"> CADSolid();
	s1.Color = Color.Red;
	s1.Point = <font color="blue">new</font id="blue"> DPoint(220.403748708326, 148.7242987183844, 0);
	s1.Point1 = <font color="blue">new</font id="blue"> DPoint(221.403748708326, 148.7242987183844, 0);               
	s1.Point2 = <font color="blue">new</font id="blue"> DPoint(220.903748708326, 145.7242987183844, 0);               
	s1.Point3 = <font color="blue">new</font id="blue"> DPoint(220.903748708326, 145.7242987183844, 0);               
	s1.Handle = s1.GetHashCode();
	s1.Loaded(<font color="blue">this</font id="blue">.cadImage.Converter);
	<font color="blue">this</font id="blue">.cadImage.Converter.OnCreate(s1);                                       
	bl1.AddEntity(s1);
	s1 = <font color="blue">new</font id="blue"> CADSolid();
	s1.Color = Color.Red;
	s1.Point = <font color="blue">new</font id="blue"> DPoint(220.40374870832611, 228.7242987183844, 0);
	s1.Point1 = <font color="blue">new</font id="blue"> DPoint(221.40374870832611, 228.7242987183844, 0);               
	s1.Point2 = <font color="blue">new</font id="blue"> DPoint(220.90374870832611, 231.7242987183844, 0);               
	s1.Point3 = <font color="blue">new</font id="blue"> DPoint(220.90374870832611, 231.7242987183844, 0);               
	s1.Handle = s1.GetHashCode();
	s1.Loaded(<font color="blue">this</font id="blue">.cadImage.Converter);
	<font color="blue">this</font id="blue">.cadImage.Converter.OnCreate(s1);                                       
	bl1.AddEntity(s1);
	CADMText m1 = <font color="blue">new</font id="blue"> CADMText();
	m1.Point = <font color="blue">new</font id="blue"> DPoint(218.153748708326, 188.7242987183844, 0);
	m1.Text = "test";               
	m1.LineWeight = 0.1;
	m1.Angle = 0;               
	m1.Color = Color.Red;                
	m1.Align = 5;
	m1.Height = 3.5;
	m1.Angle = 90;
	m1.Handle = m1.GetHashCode();
	<font color="blue">this</font id="blue">.cadImage.Converter.OnCreate(m1);                
	m1.Loaded(<font color="blue">this</font id="blue">.cadImage.Converter);               
	bl1.AddEntity(m1);
	<font color="blue">this</font id="blue">.cadImage.Converter.Blocks.Add(bl1);
	<font color="blue">this</font id="blue">.cadImage.Converter.OnCreate(bl1);
	<font color="blue">this</font id="blue">.cadImage.Converter.Loads(bl1);          
	<font color="green">//add dimension</font id="green">
	CADDimension dim = <font color="blue">new</font id="blue"> CADDimension();               
	dim.Block = bl1;          
	dim.LinDefPoint1 = <font color="blue">new</font id="blue"> DPoint(259.36719270832612, 145.7242987183844, 0.0);
	dim.LinDefPoint2 = <font color="blue">new</font id="blue"> DPoint(259.36719270832612, 231.7242987183844, 0.0);
	dim.MiddlePoint = <font color="blue">new</font id="blue"> DPoint(218.153748708326, 188.7242987183844, 0.0);               
	dim.Visibility = <font color="blue">true</font id="blue">;          
	dim.Handle = dim.GetHashCode();
	dim.Layer = this.cadImage.Converter.Layers[0] <font color="blue">as</font id="blue"> CADLayer;
	<font color="blue">this</font id="blue">.cadImage.Converter.OnCreate(dim);
	<font color="blue">this</font id="blue">.cadImage.Converter.Loads(dim);
	<font color="blue">this</font id="blue">.cadImage.Converter.Entities.Add(dim);                                             
	<font color="blue">if</font id="blue">(this.trvPanel.Visible == <font color="blue">true</font id="blue">) CADImportFace.LoadTreeNodes(trvEntity.Nodes, cadImage);          
	<font color="blue">this</font id="blue">.cadImage.GetExtents();
	<font color="blue">this</font id="blue">.DoResize();
	EnableButton(true);          
	ObjEntity.cadImage = cadImage;               <font color="green">//for object inspector</font id="green">
		
	cadPictBox.Invalidate();
}
Sergey

Please post questions to the forum or write to support@cadsofttools.com

support
Posts: 3272
Joined: 30 Mar 2005, 11:36
Contact:

Post by support » 10 Sep 2007, 13:26

Hello!

We added new way of creating dimensions:

Code: Select all

...
	CADDimension entDimension = <font color="blue">new</font id="blue"> CADDimension();

	entDimension.Flags = 1;
	entDimension.Color = Color.Bisque;
	entDimension.LinDefPoint1 = <font color="blue">new</font id="blue"> DPoint(0,0,0);
	entDimension.LinDefPoint2 = <font color="blue">new</font id="blue"> DPoint(100,0,0);
	entDimension.DefPoint = <font color="blue">new</font id="blue"> DPoint(100,20,0);			
	entDimension.Style = <font color="blue">new</font id="blue"> CADDimensionStyle();
	entDimension.Style.ArrowSize = 0.5;
	entDimension.Style.TextHeight = 0.5;           

	entDimension.Loaded(<font color="blue">this</font id="blue">.cadImage.Converter);
	<font color="blue">this</font id="blue">.cadImage.Converter.OnCreate(entDimension);
	<font color="blue">this</font id="blue">.cadImage.CurrentLayout.Entities.Add(entDimension);
...
Please contact us to info@cadsofttools.com on the question of getting updates with a reference to this topic.

Sergey.

Please post questions to the forum or write to support@cadsofttools.com

Post Reply