Leaderboard


Popular Content

Showing content with the highest reputation since 09/24/20 in all areas

  1. 2 points
    Po wczytaniu pliku ZRX (tylko w wersji Professional) można w pasku właściwości odczytać niektóre właściwości brył np. objętość. Pliki do pobrania (aby je wczytać wystarczy tylko przeciągnąć plik nad obszar rysunku). ZwGeomProps_x64.zrxZwGeomProps_Win32.zrx Na rysunku poniżej jest kilka zaznaczonych brył oraz włączony panel właściwości z dostępnymi informacjami bez załadowanych plików zrx. Na rysunku poniżej w żółtej ramce zaznaczyliśmy dodatkowe informacje, jakie będą wyświetlane po wczytaniu powyższego pliku zrx.
  2. 2 points
    dmatusz3

    Szablony i skrypty startowe ZWPack

    Dodaliśmy do ZWPack 4 nowe funkcje: sumowanie długości wzdłuż klikanych punktów - mdist, zmiana stylu istniejącej multilinii, źródło https://wstaw.net/H7rPMsXd wymiarowanie polilinii, źródło https://wstaw.net/jbTYLih szyfrowanie lispów - źródło Więcej o nakładce.
  3. 1 point
    Jak jest w końcu z tym terminem wygaśnięcia patentu, bo pojawiają się sprzeczne informacje? Znalazłem gdzieś w sieci wzmiankę o roku 2027. Czy tak długo trzeba będzie czekać na bloki dynamiczne w ZWCADZIE?
  4. 1 point
    Wolfram ALFA Lambda1=1,13783
  5. 1 point
    dmatusz3

    ZWCAD 2021 Update1

    ZWCAD 2021 jest pisany w programie do pisania programów - Visual Studio (VS). Do wersji ZWCAD 2020 i wcześniejszych była używana wersja Visual Studio 2010, natomiast ZWCAD 2021 jest już napisany w Visual Studio 2017. Zmiana taka ma szereg zalet, np. lepszą współpracę z aktualnymi wersjami Windows, możliwość wykorzystania nowych bibliotek VS, lepsze wykorzystanie mocy obliczeniowej komputerów. Całość kodu ZWCAD można przenieść bez większych problemów, natomiast zasadnicza zmiana nastąpiła tylko w obsłudze tak zwanych "Custom entities". Upraszczając bardzo temat - takimi obiektami możemy sterować poprzez pasek właściwości, np. siatką słupów. Niestety ten kod trzeba praktycznie napisać od nowa. Szacuję, że 80% funkcji Architecture stanowią właśnie te "Custom entities", co praktycznie oznacza napisanie programu od początku. Obecnie ZWSOFT nie zdecydował się na ten krok. Sami także poświęcamy sporo czasu nad dostosowaniem naszych nakładek, które wykorzystują ten mechanizm np. Siatki konstrukcyjne w w programie do konstrukcji odzieży ZWTextile. Na filmie poniżej zamieszczam przykład działania takiej siatki konstrukcyjnej.
  6. 1 point
    perlon

    ZWCAD 2021 Update1

    Martin. Sam doświadczasz niedostatków wersji Architecture. Wygląda, że zadziałała maksyma Francuskiej Legii Cudzoziemskiej. W każdym produkcie infomatycznym user oczekuje działania zgodnie ze specyfikacją i oczekuje, że problem, który ma do rozwiązania jest w tej aplikacji do rozwiązania. Konkurencja, szczególnie ta wiodąca ma kompletne i ugruntowane na rynku rozwiązania. Projektanci nie mają czasu na wymyślanie hacków na ułomności tylko chcą mieć skuteczne narzędzia CAD do osiągnięcia celu czyli stworzenia dokumentacji. Jeżeli dane narzędzie nie spełnia oczekiwań to je się zmienia. Sam miałem przykre doświadczenie z programem do statyki. Ostatecznie potraktowałem jego zakup jako stratę. Dla ZwSOFT'u to rozwiązanie zapewne było deficytowe i stratedzy uznali, że bieżące i przyszłe przychody nie zrównoważą nakładów na rozwój i dogonienie konkurencji. Nierentowne projekty się zamyka. Ot taka refleksja mię naszła.
  7. 1 point
    A ja od razu z rybą 😉 Trochę pozlepiałem z tego co miałem u siebie i wyszło mi coś takiego. Lisp wczytuje plik csv z trzema atrybutami. Przy testach były kłopoty z kodowaniem polskich liter w pliku csv ale tym się nie zajmowałem. (princ "\nImport współrzędnych wstawienia bloku z pliku tekstowego v.0.1(beta)") (princ "\nCopyright (c)2020 by Perlon") (princ "\nŁadowanie funkcji c:txt2blocks.........") (defun c:txt2blocks ( / p_dat o_dat linia *error* counter) (defun *error* (msg) (if (not (member msg '("Function cancelled" "quit / exit abort"))) (princ (strcat "\nError: " msg)) ) (princ) ) (setq p_dat (getfiled "Wpisz nazwę pliku" "" "csv" 0)) (if p_dat (progn (setq o_dat (open p_dat "r")) (setq counter 0) (setvar 'osmode 0) (while (setq linia (read-line o_dat)) (progn (setq counter (1+ counter)) (if (> (strlen linia) 0) (progn (setq lista (cd:CON_String2List linia '(","))) (command "_.INSERT" "HP_B2" "_s" 1 "_r" 0 (list (car lista) (cadr lista)) (caddr lista) (cadddr lista) (cadr (cdddr lista))) ) ) ) ) ) ) (princ (strcat "\nPrzetworzono " (itoa counter) " punktow")) (princ) ) (princ " Załadowane.") (princ) ; =========================================================================================== ; ; Konwersja takstu z separatorami na liste / ; ; ------------------------------------------------------------------------------------------- ; ; (cd:CON_String2List "1;2;3;" '(";")) ; ; =========================================================================================== ; ;;;* ------------------------------------------------------------------------------------- *;;; ;;;* PODZIAŁ ŁAŃCUCHA TEKSTOWEGO NA LISTĘ *;;; ;;;* *;;; ;;;* Funkcja rozbija łańcuch tekstowy na listę *;;; ;;;* Autor: Bill Kramer - opublikowana w CADENCE 4/97 *;;; ;;;* *;;; ;;;* Argumenty funkcji: *;;; ;;;* =================== *;;; ;;;* S - łańcuch tekstowy do podziału *;;; ;;;* D - lista separatorów (lista łańcuchów tekstowych) *;;; ;;;* *;;; ;;;* Uwaga: Jeżeli w łańcuchu do rozbicia znajdują się liczby typu INT, funkcja *;;; ;;;* zwraca je jako REAL *;;; ;;;* ------------------------------------------------------------------------------------- *;;; (defun cd:CON_String2List (s d / buf res cnt ch digs isnum temp) (setq buf "" cnt 1 isnum T digs '("." "+" "-" "0" "1" "2" "3" "4" "5" "6" "7" "8" "9") ) (repeat (strlen s) (setq ch (substr s cnt 1) cnt (1+ cnt) ) (cond ((and (member ch d) (> (strlen buf) 0)) (cond ((= (strcase buf T) "nil") (setq res (cons nil res)) ) ((= isnum T) (setq res (cons (if (= (atoi buf) (atof buf)) (atoi buf) (atof buf) ) res ) ) ) (T (setq res (cons buf res))) ) (setq buf "" isnum T ) ) ((not (member ch d)) (setq buf (strcat buf ch)) (if (null (member ch digs)) (setq isnum nil) ) ) ) ) (if (> (strlen buf) 0) (setq res (cons (if isnum (atof buf) buf ) res ) ) ) (reverse res) )
  8. 1 point
    Adam Klaczek

    OLE i Excel

    Taką opcją jest _OLELINKS, gdzie może Pan zaktualizować tabelę.
  9. 1 point
    Parikon

    [VBA] Szkic w UserForm

    Jeżeli chcesz "oskryptować" ZwCad-a proponuje abyś wybrał język C#. W zasadzie będziesz mógł tworzyć rozwinięte programy. A narzędzia do tego są ogólnodostępne. Co prawda zamknięte, ale ZwCad-a też mogą "zwinąć" w pewnym momencie. Jeśli przerobiłeś projekt_forum.dll to wiesz jak utworzyć okno. Chociaż to co pokazałem może być nieprofesjonalne, ale ja też za programistę się nie uważam. 😉 Ja w zasadzie do rysowania wykorzystuję przestrzeń udostępnianą przez ZwCad. Ale możesz szkicować w oknie wykorzystując System.Windows,Shape. // Add the Polyline Element myPolyline = new Polyline(); myPolyline.Stroke = System.Windows.Media.Brushes.SlateGray; myPolyline.StrokeThickness = 2; myPolyline.FillRule = FillRule.EvenOdd; System.Windows.Point Point4 = new System.Windows.Point(1, 50); System.Windows.Point Point5 = new System.Windows.Point(10, 80); System.Windows.Point Point6 = new System.Windows.Point(20, 40); PointCollection myPointCollection2 = new PointCollection(); myPointCollection2.Add(Point4); myPointCollection2.Add(Point5); myPointCollection2.Add(Point6); myPolyline.Points = myPointCollection2; myGrid.Children.Add(myPolyline); https://docs.microsoft.com/en-us/dotnet/api/system.windows.shapes?view=netcore-3.1 Zatem robisz to tak w przykładzie projekt_forum.dll. Gdzieś w oknie dodajesz kontrolkę Canvas. W kodzie wpf będzie to np.<Canvas x:Name="Plotno" HorizontalAlignment="Left" Height="60" Margin="18,158,0,0" VerticalAlignment="Top" Width="160"/> Nazwałem kontrolkę "Plotno". Teraz w tej kontrolce możesz narysować przykładowo prostokąt. Przy czym jak ten prostokąt ma się pojawić po kliknięciu przycisku do dodaj kod do zdarzenia kliknięcia przycisku. Jak od razu przy uruchomieniu programu, to dodaj do zdarzenia uruchomienia programu: // Add a Rectangle Element System.Windows.Shapes.Rectangle myRect = new System.Windows.Shapes.Rectangle(); myRect.Stroke = System.Windows.Media.Brushes.Black; myRect.Fill = System.Windows.Media.Brushes.SkyBlue; myRect.HorizontalAlignment = HorizontalAlignment.Left; myRect.VerticalAlignment = VerticalAlignment.Center; myRect.Height = 50; myRect.Width = 50; Plotno.Children.Add(myRect); Oczywiście można to oprogramować dalej i prostokąt będzie przyjmował kształty wybranych z bazy danych prostokątów. Pojawi się taki kwadracik jak poniżej. Przy czym nie przybiera on kształtu odpowiedniego do długości B i L, gdyż jeszcze tego nie oprogramowałem. Sorry, że piszę tak jak do kogoś całkiem nie obytego z programowaniem, ale jak już piszę, to i komuś takiemu może się przyda.
  10. 1 point
    perlon

    [VBA] Szkic w UserForm

    Takie coś naskrobałem na szybko w C#. Oczywiście kod jest siermiężny ale działa. Polecam używanie wysokopoziomowych języków .NET przy zabawach z WF ew. WPF. VBA miewa braki, aczkolwiek ma niezaprzeczalną zaletę, że jest "na pokładzie" i nie potrzeba zewnętrznego kompilatora. ZwForm.rar
  11. 1 point
    W ZWCAD 2021 proszę sprawdzić zmienną systemową COLORTHEME
  12. 1 point
    Martin_S

    Problem z zoomem

    tez sie z tym spotykam... w 2020 i wcześniejszych...jeśli nastąpi takie 'przytkanie' to po RE regen zoomuje dalej
  13. 1 point
    dmatusz3

    Problem z zoomem

    Jeśli powiększenie "dojdzie do końca" to proszę użyć funkcji REGEN.
  14. 1 point
    Adam Klaczek

    ZWCAD 2021 - scalanie warstw

    W ZWCAD 2021 można scalić warstwy, zaznaczając je w oknie menadżera. Jeżeli na warstwach znajdują się obiekty, można je przenieść na inną, wskazaną warstwę.
This leaderboard is set to Warsaw/GMT+02:00