Page 1 of 1
CadText inside CadHatch
Posted: 12 Apr 2012, 17:45
by sevanrulez
Greetings from Italy,
I have to insert programmatically a CadText in the same coordinates of a selected hatch.
I read this topic
http://www.cadsofttools.com/forum/viewt ... tity#p9888
and i tried to adapt the solution but i can't do it...
may someone help me?
VB or c# no problem...
If cadImage.SelectedEntities(0).EntType = EntityType.Hatch Then
...
end if
Many thanks
Re: CadText inside CadHatch
Posted: 12 Apr 2012, 18:31
by sevanrulez
I found this solution...
Code: Select all
If cadImageFld.SelectedEntities(0).EntType = EntityType.CurvePolygon Then
Return CreateTextOnHatch(cadImageFld.SelectedEntities(0), "TEST", Color.Red)
End If
Code: Select all
Public Function CreateTextOnHatch(ByVal xEnt As CADImport.CADCurvePolygon, ByVal sText As String, ByVal xColor As System.Drawing.Color) As Boolean
Try
Dim dP As DPoint = xEnt.Box.TopLeft
CreateText(sText, 3, xColor, dP.X + 5, dP.Y - 5, dP.Z)
Return True
Catch ex As Exception
_strError = ex.Message
Return False
End Try
End Function
Code: Select all
Public Function CreateText(ByVal sText As String, ByVal TextHeight As Integer, ByVal xColor As System.Drawing.Color, ByVal x As Double, ByVal y As Double, ByVal z As Double) As Boolean
Try
Dim cText as New CADText
cText.Color = xColor
Try
cText.Point = New DPoint(x, y, z)
cText.Height = TextHeight
cText.Rotation = 0
cText.Text = sText
cadImageFld.Converter.GetSection(ConvSection.Entities).AddEntity(cText)
cadImageFld.Converter.OnCreate(cText)
cadImageFld.Converter.Loads(cText)
Catch exception As FormatException
_strError = exception.message
Return False
End Try
Catch ex As Exception
_strError = ex.message
Return False
End Try
End Function
Re: CadText inside CadHatch
Posted: 12 Apr 2012, 19:13
by support
Hello.
Generally we recommend add a new entity to the current layout. CADStyle object can be used to specify text's font. Also please note, CADHatch entity represents hatched area in CAD Import .NET. Solid area represented by CADCurvePolygon.
Code: Select all
if (cadImage.SelectedEntities[0].EntType == EntityType.Hatch)
{
CADText entText = new CADText();
CADStyle txtStyle = new CADStyle();
txtStyle.Name = "Gothice";
txtStyle.PrimaryFont = "Gothice";
cadImage.Converter.Styles.Add(txtStyle);
entText.Style = (CADStyle)cadImage.Converter.Styles[cadImage.Converter.Styles.Count - 1];
entText.Color = Color.Red;
entText.Point = new DPoint(0, 0, 0); //specify coordinates here
entText.Height = 10;
entText.Rotation = 0;
entText.Text = "Hello World!!!";
entText.LineWeight = 0.1;
entText.Loaded(cadImage.Converter);
cadImage.Converter.Loads(entText);
cadImage.Converter.OnCreate(entText);
cadImage.CurrentLayout.AddEntity(entText);
cadImage.GetExtents();
}