Parikon Opublikowano 8 Maja 2017 Zgłoś Opublikowano 8 Maja 2017 (edytowane) using (zzd.DBText acText = new zzd.DBText()) { if (pełny.IsChecked == false) { acText.TextString = "%%U" + textBox.Text + "-" + textBox.Text; } else { acText.TextString = "%%UPrzekrój " + textBox.Text + "-" + textBox.Text; } acText.HorizontalMode = zzd.TextHorizontalMode.TextCenter; acText.VerticalMode = zzd.TextVerticalMode.TextBottom; acText.AlignmentPoint = ptStart; acText.Height = dimscala * 5; btr.AppendEntity(acText); tr.AddNewlyCreatedDBObject(acText, true); } Powyższy kod w AutoCAD 2010 tworzy podkreślony napis "single text". Napis ten jest wstawiany centralnie do punktu który wskazuję. Film ukazujący działanie kodu W ZwCAD 2017 użycie tak spreparowanego stringa string text = "%%UPrzekrój " + textBox.Text + "-" + textBox.Text; powoduje to, że metoda nie radzi sobie z wyznaczeniem środka tekstu. Na razie poradziłem sobie w ZwCAD poprzez rezygnację z podkreślenia. Ale wydaje mi się, że trzeba to zakwalifikować jako błąd do poprawy i zgłosić producentowi. Funkcja w ZwCAD pozbawiona podkreślenia ze względu na brak dokładnego ustawienia napisu. Edytowane 8 Maja 2017 przez Parikon
kojacek Opublikowano 8 Maja 2017 Zgłoś Opublikowano 8 Maja 2017 Utwórz tekst bez podkreślenia, tak jak sugerujesz. Potem do istniejącego już dodaj "%%u".
kruszynski Opublikowano 8 Maja 2017 Zgłoś Opublikowano 8 Maja 2017 Sprawdziłem to i wstawiło tekst poprawnie: z podkreśleniem i punktem wstawienia na środku tekstu. Ciekawe co robimy inaczej. Czy mógłby Pan przysłać najprostszy projekt zawierający tylko wstawienie tekstu?
dmatusz3 Opublikowano 8 Maja 2017 Zgłoś Opublikowano 8 Maja 2017 Myślę, że dobrze byłoby zsynchronizować vernum.
Parikon Opublikowano 8 Maja 2017 Autor Zgłoś Opublikowano 8 Maja 2017 (edytowane) // Create a single-line text object using (zzd.DBText acText = new zzd.DBText()) { if (pełny.IsChecked == false) { string text = "%%U" + textBox.Text + "-" + textBox.Text; acText.TextString = text; } else { string text = "%%UPrzekrój " + textBox.Text + "-" + textBox.Text; acText.TextString = text; } acText.HorizontalMode = zzd.TextHorizontalMode.TextCenter; acText.VerticalMode = zzd.TextVerticalMode.TextVerticalMid; acText.AlignmentPoint = ptStart; acText.Height = dimscala * 5; acText.Layer = layername; acText.ColorIndex = coloroznaczenia; acText.TransformBy(mat); btr.AppendEntity(acText); tr.AddNewlyCreatedDBObject(acText, true); anonyGroup.Append(acText.ObjectId); } vernum = "2017.04.06(15637)_x64" Tworzymy obiekt o nazwie acText któremu nadajemy właściwość Textstring Ten string zaczynamy %%U aby był podkreślony W AutoCAD tekst jest wyśrodkowany a w powyższym vernum wygląda to tak. Film w ZwCAD z podkreśleniem Edytowane 8 Maja 2017 przez Parikon
Parikon Opublikowano 8 Maja 2017 Autor Zgłoś Opublikowano 8 Maja 2017 Z zachowania wynika, że metoda w ZwCAD wylicza centrum dla ciągu gdzie bierze część stringu %%U jako tekst, który powiększa długość tekstu jaki został wyświetlony, a metoda w AutoCAD uwzględnia, że ten tekst w rzeczywistości jest krótszy o te 3 niewyświetlane znaki.
kruszynski Opublikowano 8 Maja 2017 Zgłoś Opublikowano 8 Maja 2017 już (dopiero?) rozumiem na czym polega problem. Odpowiednie zgłoszenie przesłałem do ZWSOFT. co Pan na to, żeby skorzystać z MText zamiast Text ? using (MText objText = new MText()) { objText.Contents = "{\\LPrzekrój A-A}"; objText.SetAttachmentMovingLocation( AttachmentPoint.BottomCenter ); objText.Height = 5; zsBlkTblRec.AppendEntity(objText); ZsTrans.AddNewlyCreatedDBObject(objText, true); objText.Location = new ZwSoft.ZwCAD.Geometry.Point3d(100, 100, 0); } Parikon 1
Parikon Opublikowano 9 Maja 2017 Autor Zgłoś Opublikowano 9 Maja 2017 Chciałem tylko zgłosić, że można dopracować metodę w .net. Dziękuję za wysłanie.
Parikon Opublikowano 12 Maja 2017 Autor Zgłoś Opublikowano 12 Maja 2017 (edytowane) vernum 2017.05.08(17156)_x64" Poniżej próba podkreślenia textu już istniejącego w rysunku. Czyli rozwiązanie problemu jaki proponował powyżej kolega @kojacek. Tekst po podkreśleniu przesuwa się w lewo. Film Edytowane 12 Maja 2017 przez Parikon
Parikon Opublikowano 14 Lutego 2018 Autor Zgłoś Opublikowano 14 Lutego 2018 Problem wydaje się rozwiązany vernum = "2018.02.11(28325)_x64" dmatusz3 1
dmatusz3 Opublikowano 14 Lutego 2018 Zgłoś Opublikowano 14 Lutego 2018 Dziękuję bardzo za informacje. Zatem zamykam wątek.
Rekomendowane odpowiedzi