kruszynski

Moderatorzy
  • Postów

    1 427
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    83

Aktywność reputacji

  1. Upvote
    kruszynski przyznał(a) reputację dla Chris w Wstawianie obrazków   
    Nie wiem czy w ogóle którykolwiek z programów typu CAD umożliwia zapisanie obrazków na stałe w pliku bez opcji podczytywania z dysku.
    Sam to przerabiałem i mam inne rozwiązanie, zastępcze. Proszę przerobić logo (jeśli to możliwe) na obiekt typu dwg i wstawiać jako blok. Jest to najpewniejsza metoda, która gwarantuje, że logo zawsze będzie zapisane w rysunku. Wstawianie obrazka zawsze niesie ze sobą ryzyko, że każdy kolejny użytkownik może pominąć kopiowanie loga lub przesłanie go razem  z rysunkiem...
    Jeśli logo nie jest mocno skomplikowane to przerobienie do pliku dwg nie powinno być trudne a ułatwi późniejsze wstawianie go do rysunków.
  2. Upvote
    kruszynski przyznał(a) reputację dla pawmal w Zaokrąglanie kąta w szyku biegunowym [rozwiązany]   
    Witam
    Jest takie polecenie JEDN (_units). Można albo zwiększyć dokładność przy jednostkach dziesiętnych dla kąta albo w ogóle ustawić stopnie/minuty/sekundy.
    Pozdrawiam



  3. Upvote
    kruszynski otrzymał(a) reputację od Włodek w Obliczanie powierzchni linii przerywanych   
    W zbliżającej się aktualizacji będzie to działało tak:
    Oznaczamy najpierw jedną krawędź pasa ruchu, następnie drugą lub więcej. Następnie usuwamy poszczególne opisy, i dodajemy jeden zbiorczy dla wszystkich utworzonych linii, następnie tak przygotowany opis możemy aktualizować po zmianie długości pasa. Po aktualizacji będzie długość pasa i  suma powierzchni wszystkich namalowanych linii.

  4. Upvote
    kruszynski przyznał(a) reputację dla jarekw90 w Średnia punktów   
    Już wiem gdzie był błąd. Działa ;) Chyba zrozumiałem już mniej więcej o co chodzi.
    (defun c:aaaaa()
    (setq ss (ssget '((0 . "POINT"))))
    (setq n (sslength ss))
    (setq nss 0)
    (princ "zaznaczonych:")
    (princ n)
    (setq pkt1 (list 0 0 0))
    (while (< nss n);nss mniejsze poniewaz numeracja od zera
    (setq ssnam (ssname ss nss)) ; ze zbioru wskazań ss pobiera element o indeksie nr, elementy liczone są od 0
    (setq entgi (entget ssnam )); wybór opisu elementu jako listy dla podanej nazwy elementu
    (setq pkt0 (cdr (assoc 10 entgi)));10 kod punktu wstawienia dla punktu dxf
    (setq pkt1 (list (+(car pkt0) (car pkt1)) (+(cadr pkt0) (cadr pkt1)) (+(caddr pkt0) (caddr pkt1))))
    (setq nss (+ nss 1))
    );end while
    (princ pkt1)
    (setq pkt2 (list (/(car pkt1) n) (/(cadr pkt1) n) (/(caddr pkt1) n)))
    (command "_erase" "_si" ss)
    (command "_point" pkt2)
    );end prog
  5. Upvote
    kruszynski otrzymał(a) reputację od hiper111 w LISP program obliczajacy wyraz ciagu   
    do tego właśnie służy rekurencja
    powinno być coś typu
    ( defun a ( n / ) (cond ( ( = n 0 ) 5 ) ( t (+ (* 3 (a (- n 1 ) ) ) 2 ) ) ) )  
  6. Upvote
    kruszynski otrzymał(a) reputację od hiper111 w LISP program obliczajacy wyraz ciagu   
    n to parametr wywołania funkcji
    / oddziela parametry od zmiennych lokalnych.  w tym przypadku nie jest potrzebne ale z przyzwyczajenia ( makro w edytorze) mi się napisało
  7. Upvote
    kruszynski otrzymał(a) reputację od hiper111 w LISP program obliczajacy wyraz ciagu   
    O to właśnie chodzi, "a" to nie zmienna, tylko nazwa funkcji, która ma być rekurencją.
    czyli Ty mnożysz 3 * a (jako zminną) * (n-1)
    ma być 3 * a ( jako wynik dla obliczenia funkcji a dla wartości (n-1))
     
  8. Upvote
    kruszynski otrzymał(a) reputację od hiper111 w LISP program obliczajacy wyraz ciagu   
    (defun wyraz(n,a) (cond ((= n 0) ( a)) ((> n 0) (+ (* (* (- n 1) 3 a) ) 2)))) ja tu widzę kilka błędów:
    1. dlaczego a jest parametrem wywołania?
    2. w treści zadania jest jakaś magiczna liczba 5. Nie ma jej w kodzie. zastanów się gdzie powinna być
    3. w pierwszym warunku: ( a ) ?
    4. w drugim warunku nawiasy są pomieszane
    To tak na początek. jak się z tym uporasz i dalej nie będzie działało to daj znać.
  9. Upvote
    kruszynski otrzymał(a) reputację od hiper111 w LISP program obliczajacy wyraz ciagu   
    O czym może to świadczyć?
    ((= n 0) (= a 5))  znaczy:  jeśli n jest równe 0, to sprawdź czy a jest równe 5 . 
     
  10. Upvote
    kruszynski otrzymał(a) reputację od hiper111 w LISP program obliczajacy wyraz ciagu   
    przypisanie wartości do zmiennej to setq czyli (setq a 5)
    tylko po co tutaj a ?
    Mała podpowiedź:
    w tym przypadku trzeba wykorzystać rekurencję.
  11. Upvote
    kruszynski otrzymał(a) reputację od Parikon w Błąd w metodzie ZwCAD .net - formatowanie tekstu [rozwiązany]   
    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); }  
  12. Upvote
    kruszynski przyznał(a) reputację dla Włodek w Obliczanie powierzchni linii przerywanych   
    I tak i nie - poniżej cd.
    Koledzy niby mają rację, ale nie do końca. Fakt, że pole dla "pojedynczego" znaku P-5 wynosi 0,16 mkw/mb to niby racja (chociaż nie tak to się liczy  jak policzył Mateusz). Problem tkwi w tym, że znak P-5 nie może występować jako "pojedyncza linia podwójna przerywana" Musi występować "parami" - § 86 ust. 6 rozporządzenia w sprawie znaków (...): "Znak P-5 „linia podwójna przerywana”, znajdująca się między skrzyżowaniami po obu stronach pasa ruchu (...)". Stąd w załączniku jest pokazane pole powierzchni dla zestawu znaków P-5 x 2, czyli  = 0,32. Tyle teorii.
    Linię P-5 będziemy stosować nawet mniej niż sporadycznie (a jak się komuś, kiedyś w projekcie trafi to prosimy wrzucić na forum). W nakładce nie należy zmieniać pola powierzchni znaku (z 0,32 na 0,16) tylko sam sposób malowania /rysowania (projektowania) tego znaku. Powinien on być taki sam, jak w przypadku np. znaku P-11 - pojawia się dodatkowy parametr szerokość pasów / pasa.
    Tak mi się jeszcze przypomniało w zakresie postu:
    Kolega racji nie ma.
    Linie przerywane zawsze zaczynają się kreską i kończą przerwą. Wynika to z istoty tych linii, przepisu: "Linia przerywana składa się z kresek i przerw (...)" i sposobu liczenia pól powierzchni na 1mb. Początkowy odstęp pomiędzy np. linią P-4, a następującą po niej linią P-1e nazywa się przerwą technologiczną i zwykle przyjęło się projektować ją w takiej samej długości, jak długość przerwy, ale żaden przepis tego nie reguluje. Jeżeli przyjąć by kolegi rozumowanie, to dla linii P-1e o długości 5m (przerwa - kreska - przerwa - kreska - przerwa) powierzchnia malowania powinna wynieść 5m x 0,12m = 0,60 mkw. Tymczasem faktyczna powierzchnia malowania dla takiego przykładu wyniesie 0,24 mkw. Chciałbym zobaczyć kosztorys dla takiego liczenia powierzchni znaków.
    Co nie zmienia faktu, że można by kiedyś zmodyfikować definicje linii przerywanych, ale każdy z projektantów sobie z tym tematem jakoś radzi i przy przeliczaniu długości znaków raczej problemu nie ma.
  13. Upvote
    kruszynski otrzymał(a) reputację od jacnightingale w Sposób edycji opisu znaków [rozwiązany]   
    Proszę zaznaczyć blok opisu, uruchomić funkcję: ODNEDYCJA (_REFEDIT) np prawym przyciskiem myszy i z menu które się rozwinie pierwsza pozycja "Edytuj blok"
    Następnie proszę wprowadzić zmiany, np położenie atrybutu, czcionki, kolory wielkości itp.
    Po zakończeniu edycji proszę uruchomić funkcję : ODNZAMKNIJ (_REFCLOSE). Nowo wstawione opisy będą już miały postać taką jak blok po edycji.
    Do zastosowania zmian w już wstawionych blokach może Pan użyć funkcji MENATR (_BATTMAN)
  14. Upvote
    kruszynski przyznał(a) reputację dla Włodek w Sposób edycji opisu znaków [rozwiązany]   
    Nakładka jest na tyle elastyczna, że pozwala na wiele modyfikacji, w tym także na takie. Znajdź plik: P_Opis_Pionowe.dwg zwykle na dysku C w katalogu Szansa. Tylko z tą modyfikacją to ostrożnie, jak zmniejszysz odległości, to przy dłuższych nazwach znaków np. C-13-16 nazwy będą się nakładać na siebie i opisy będą nieczytelne.
  15. Upvote
    kruszynski przyznał(a) reputację dla dmatusz3 w Odwieczny błąd wyrównania tekstów [rozwiązany]   
    Czy próbował Pan zmienić Styl odstępu linii we właściwościach tekstu?

  16. Upvote
    kruszynski przyznał(a) reputację dla alf w Jak przenieść Layouty z jednego rysunku do drugiego?   
    prawy click na layout + wybór "from template" (właczyć rozszerzenie dwg) - wtedy przenieść wszystkie a potem skasować co niepotrzebne
  17. Upvote
    kruszynski przyznał(a) reputację dla JasW w Zamiana przecinka na kropkę?   
    To nie problem Zwcad'a ale Windows'a  .
    W ustawieniach regionalnych doinstaluj drugi język ( np. angielski ) i w razie potrzeby wprowadzania dużej ilości danych przez klawiaturę numeryczną przełączaj na drugi język (anglicy mają jako separator dziesiętny przecinek ;-) .
    Niestety (u mnie) nie działa na klawiaturze numerycznej prostsze rozwiązanie: zmiana w ustawieniach regionalnych dla j. polskiego przecinka (,) na kropkę (.)
    J.
     
     
  18. Upvote
    kruszynski przyznał(a) reputację dla Parikon w Przybornik PARIKON   
    Znalazłem taki problem, który mogą mieć niektórzy użytkownicy.
    Pobrałem zipa z sieci i zapisałem na dysk. Niestety po dodaniu ścieżki do katalogu ZwCAD nie ładuje plików dll.
    Znalazłem już rozwiązanie tego problemu.
    Windows 10 blokuje pobrane z sieci pliki.
    Być może można zrobić to prościej ale:
    cały folder odznaczyłem jako tylko do odczytu oraz,
    klikając PKM na każdy plik odblokowałem każdy z nich.

    Po tym zabiegu netload przebiega prawidłowo.
     
  19. Upvote
    kruszynski otrzymał(a) reputację od JasW w Associative Circle and Centerline   
    Zasadniczo mogą. ale odczytując taki uchwyt w ZWCAD 2017 SP2 otrzymujemy jakieś cuda. Na szczęście uchwyt jest też tekstem, a tekst można odczytywać bez problemu.
  20. Upvote
    kruszynski przyznał(a) reputację dla Adam Klaczek w Wyświetlanie etykiety z odległością i kątem - rozszerzenie funkcji [Wprowadzono w ZWCAD 2018]   
    Dzień dobry,
    Wydaje mi się, że wystarczy zastosować śledzenie biegunowe z przyrostem kąta = 90 i pomiarem względem ostatniego segmentu:

    Pozdrawiam.
  21. Upvote
    kruszynski przyznał(a) reputację dla kojacek w Tworzenie nowego układu   
    Nie ma problemu. Zainteresuj się CADPL-Pack'iem: http://forum.cad.pl/cadpl-pack-v1-lsp-t78161.html
    Potem, wczytaj go, oraz poniższą funkcję:
    (defun -MakeLayout (Start End Pref / i n l)   (setq i Start         l (layoutlist)   )   (while     (< i End)     (progn       (setq n (strcat Pref (itoa i)))       (if         (not (member n l))         (vla-Add (cd:ACX_Layouts) n)       )       (setq i (1+ i) l (cons n l))     )   ) ) Ma ona trzy argumenty: Start - to liczba całkowita od jakiej zaczyna się licznik, End - to koniec, Pref to łańcuch tekstowy, nazwy układu.
    Wywołujesz ją w ten sposób:
    (-MakeLayout 1 201 "Szkic") i po chwili masz te Layouty...
    kojacek (https://kojacek.wordpress.com)
  22. Upvote
    kruszynski otrzymał(a) reputację od Marek-M w Importowanie i eksportowanie właściwości rysunku   
    OK, dodam taką możliwość
  23. Upvote
    kruszynski otrzymał(a) reputację od Marek-M w Importowanie i eksportowanie właściwości rysunku   
    W załączniku poprawka która nadpisuje właściwości.
    ImportWlasciwosci.zel
  24. Upvote
    kruszynski otrzymał(a) reputację od Martin_S w Przesunięcie warstwy "na spód" [Rozwiązany]   
    Ta wersja powinna działać na ZWCAD+ 2015 i ZWCAD 2017
    DimToBack.lsp
  25. Upvote
    kruszynski otrzymał(a) reputację od dmatusz3 w Program automatycznie aktualizujący treść napisów na danej warstwie.-proszę o pomoc [rozwiązany]   
    Poszczególne kody DXF może Pan znaleźć np tutaj:
    http://www.autodesk.com/techpubs/autocad/acad2000/dxf/
    Błędna wartość w linii:
    (setq sel1 (ssget "X" (list (cons 0 TEXT)(cons 1 stary_napis)(cons 8 warstwa))))) to TEXT. Użyte w ten sposób znaczy że TEXT to zmienna. Powinno być "TEXT"
    (setq nazwa_napisu (ssname napis 1)) ; Informole liczą od 0 a nie od 1. prosze uważać. podmiana wartości tekstu powinna wyglądać tak:
    (setq nowy_napis2 (subst (cons 1 nowy_napis) (assoc 1 zmiana) zmiana))