Parikon

Użytkownik forum
  • Postów

    355
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    19

Treść opublikowana przez Parikon

  1. 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
  2. Dodam, że strony zwsoft program antywirusowy i przeglądarka mi już nie blokuje
  3. Odistalowałem wersję SP3.0 wczesniej zwracając licencję. Zainstalowałem SP 3.1 i zonk. Moduł licencyjny nie pobiera informacji o użytkowniku. Czym to może być spowodowane. Czy może mieć na to wpływ zapora czy raczej coś u nich na serwerze aktywacji?
  4. Chciałem tylko zgłosić, że można dopracować metodę w .net. Dziękuję za wysłanie.
  5. 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.
  6. // 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
  7. 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.
  8. Nieraz trzeba zrobić krok w tył, aby pójść do przodu. Przy okazji pracy nad modułem dodającym profile stalowe postanowiłem powrócić do początku. Zmieniłem program zarządzający z palety bocznej na oddzielne okno. Program piszę zarówno na AutoCAD 2010 jak i ZwCAD2017 aby mieć porównanie. Oddzielne okno dlatego, że łatwiej mi je projektować i nie muszę przybornika na siłę integrować z menu. Moim zamiarem jest to aby przybornik można było szybko zainstalować, użyć i ewentualnie odłączyć. Program skala daje wybór jednostek w jakich rysujemy. Można więc teraz używać go w zakresie jednostek metrycznych takich jak milimetry, metry i centymetry. Skalę można ustawiać w zakresie 1 : liczba > 0. Można także wybrać jedną ze zdefiniowanych skal. Aktualnie na serwerze wystawiłem wersję, którą oznaczyłem numerem 1.0. Ta wersja nie używa baz danych SQLite, a zapis ustawień nauczyłem się realizować w net. Wszystko działa jeszcze szybciej. Aby nie było już problemów z niezaładowaniem się plików dll całość jest pakowana darmowym programem, który przygotowuje instalator. Pliki więc można teraz zainstalować co daje pewność, że nie będą blokowane przez system oraz jednym kliknięciem odinstalować z poziomu panelu sterowania. Przygotowałem także na nowo opis instalacji oraz omówiłem dwa podstawowe moduły czyli program zarządzający i program skala. Zmiany
  9. W jakim pliku w katalogu ZwCAD 2017 można dopisać programy zawarte w plikach dll aby ładowały się automatycznie? Przykładowo w AutoCAD jest to acad20xxdoc.lsp
  10. Temat do zamknięcia. Znalazłem rozwiązanie. string sciezka = moje_metody.sciezka_do_katalogu() + @"\images\favicon.ico"; Form1.ActiveForm.Icon = new System.Drawing.Icon(sciezka); Ważne jest aby kod użyć po otwarciu się okienka, a nie przed. Gdyż w przeciwnym wypadku pojawi się ikona ZwCAD-a wstawienie tego kodu tutaj: public class Command { [zzr.CommandMethod("WG_Hello_World", zzr.CommandFlags.Modal)] public void autocadokno() { UserControl1 mykon = new UserControl1(); Form1 form = new Form1(mykon); string sciezka = moje_metody.sciezka_do_katalogu() + @"\images\favicon.ico"; form.Icon = new System.Drawing.Icon(sciezka); zza.Application.ShowModalDialog(form); } } nie da oczekiwanego efektu.
  11. Może zatem podam przepis jak utworzyć okienko w C# działające w ZwCAD. Być może ktoś się skusi i zacznie tworzyć nakładki w tej technologii, a przy okazji dojdziemy do tego jak zaimplementować własną ikonkę. Aby utworzyć proste okno otwierane w ZwCAD wystarczy zainstalować VS2017 Community. Przy instalacji wybrać tylko potrzebne komponenty czyli w zasadzie NetFramework. Wybrać nowy projekt i w szablonach C# > klasyczny pulpit systemu Windows > Biblioteka klas (.Net Framework). W tym miejscu musimy wybrać wersję Framework-u. Ja wybieram 4.5. Nadajemy nazwę projektowi VS tworzy solucję ( rozwiązanie) w którym mamy plik class1.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ClassLibrary2 { public class Class1 { } } Następnie dodaję dodatkowe odwołania, których brakuje. są to: System.Xaml oraz WindowsFormsIntegration oraz z katalogu ZwCADa ZwDatabaseMgd.dll oraz ZwManaged.dll VS tworzy solucję ( rozwiązanie) w którym mamy plik Kodu w pliku Class1.cs nie zmieniamy W menu Projekt wybieramy >Dodaj formularz Windows Form Do rozwiązania zostanie dodane okienko Windows form To okienku ma standardową ikonkę, którą potem ZWCAD podmienia na własną. Klikając PKM na to okienko lub wciskając F7 otwieramy plik Form1.cs w którym mamy następujący kod using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace ClassLibrary2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } } } Dodaje jeszcze do rozwiązania kontrolkę WPF W menu Projekt wybieramy >Dodaj kontrolkę użytkownika i wybieramy szablon Kontrolka użytkownika (WPF) Nadajemy kontrolce nazwę W moim przypadku jest to mykon <UserControl x:Name="mykon" x:Class="ClassLibrary2.UserControl1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:ClassLibrary2" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300"> <Grid> </Grid> </UserControl> Teraz wystarczy wrócić do pliku Form1.cs i odpowiednio go zmodyfikować using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using zzr = ZwSoft.ZwCAD.Runtime; using zza = ZwSoft.ZwCAD.ApplicationServices; namespace ClassLibrary2 { public partial class Form1 : Form { public Form1(UserControl1 mykon) { InitializeComponent(); System.Windows.Forms.Integration.ElementHost wg = new System.Windows.Forms.Integration.ElementHost(); wg.AutoSize = true; wg.Dock = DockStyle.Fill; wg.Child = mykon; this.Controls.Add(wg); } } public class Command { [zzr.CommandMethod("WG_Hello_World", zzr.CommandFlags.Modal)] public void autocadokno() { UserControl1 mykon = new UserControl1(); Form1 form = new Form1(mykon); zza.Application.ShowModalDialog(form); } } } Teraz wystarczy skompilować rozwiązanie i w katalogu z rozwiązaniem szukać katalogu bin, a w w nim pliku ClassLibrary2.dll poleceniem netload załadować plik i komendą WG_Hello_World uruchomić okienko, które przyjmie ikonkę standardową ZwCAD-a
  12. Potrzebuję pomocy. Jak zmusić ZwCAD, żeby nie wstawiał swojej ikonki w lewym górnym narożniku okna nakładki. Mam własny plik *.ico i chciałbym go użyć.
  13. Nowa wersja PI generująca zestawienie stali zbrojeniowej PI_2017_407
  14. Dla zainteresowanych udostępniłem aktualną wersję przybornika. PI_2017_0404 (kreślarz elementów żelbetowych v0.5)
  15. VERNUM = "2017.03.31(15430)_x64" Problem dalej nie rozwiązany. Nie mam także pomysłu jak obejść ten problem. Tworzenie wielu styli wymiarowania dla każdej skali jest dla mnie niewyobrażalne. Zmiana globalnej skali zmieni wszystkie wymiary w rysunku, co nie jest oczekiwaną sytuacją. Tego problemu nie było w SP 1.3. Czyżby podniesienie wydajności było okupione wyłączeniem tej funkcjonalności?
  16. VERNUM = "2017.01.23(13656)_x64" wersja PL Okno właściwości nie ma znaczenia. Przy operowaniu combobox z warstwami naciśnięcie ESC nie daje żadnego rezultatu, a powinien pojawić się napis *anuluj
  17. Proszę zrobić to prościej. Otworzyć Zwcada. Dodać drugą warstwę. Narysować linię. Zaznaczyć linię. Zmienić warstwę. Nacisnąć ESC. VERNUM = "2017.01.23(13656)_x64" (tylko do odczytu) Zresztą nie trzeba nic rysować wystarczy zmienić warstwy w combobox warstwy i po tym esc nie zareaguje. Obok jest combobox kolor warstwy i tam już jest ok.
  18. Potwierdzam to co pokazał @Bartek1977. Sprawdziłem jeszcze w ACAD 2010. Tam działa niezależnie w którą stronę narysuje się linię
  19. Ja tylko odtworzyłem to co zrobił @dmatusz3. Ale teraz wiem, że ma to działać inaczej i po krótkiej nauce udaje mi się za każdym razem złapać ten punkt. Bez tabulatora. W snap setting mam zaznaczone tylko przedłużenie i koniec. Zaczynam od punktu na końcu lini którą przedłużam i idę kursorem w stronę lini prostopadłej. W pewnym momencie pokazanym na grafice obiekt przeskakuje i wtedy naciskam LPM. Jest dokładnie na przedłużeniu.