kruszynski

Moderatorzy
  • Postów

    1 427
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    83

Odpowiedzi opublikowane przez kruszynski

  1. 23 minuty temu, pop3k napisał:

    A mi przychodzi. Tylko nie wiem jak.

    Czy można wywołać funkcję lustra z poziomu vba? tak, żeby podczas wykonywania linii sam sobie napisał wywołanie funkcji, podał 2 punkty charakterystyczne dla lustra i kontynuował kod VBA?

    Można. W skrócie składnia byłaby taka. Myślę że zamiana współrzędnych z liczbowych na tekst to już prosta sprawa.

    Dim entity As String
    entity = "(handent " & Chr(34) & ref.handle & Chr(34) & ")"
    ThisDrawing.SendCommand "_MIRROR" & vbCr & entity & vbCr & vbCr & "420,340 420,360" & vbCr

    Nie lubię tej metody dlatego, że powstaje nowy obiekt. Jeśli chcemy później jeszcze coś z tym zrobić, to nie możemy posłużyć się tym, który mieliśmy wcześniej np przechowany w zmiennej przed uruchomieniem funkcji. Inna kwestia to że polecenia jako SendCommand są wywoływane asynchronicznie więc kod VBA będzie się wykonywał dalej nie czekając na zakończenie działania polecenia.

  2. Wierzę na słowo. Ale biorę też poprawkę na to że już tyle razy inaczej rozumiałem słowo "prawidłowo" że przestałem wierzyć własnym ocenom i wolę porównywać twarde dane.

    7 minut temu, pop3k napisał:

    blok górny został przygotowany tak jak ma być finalnie

    Zdecydowanie to ważna informacja

    53 minuty temu, pop3k napisał:

    Niby odbija lustrzanie blok ale nie jego atrybuty

    Za to ta informacja nas zmyliła. Zrozumieliśmy że właśnie atrybuty - literki chce Pan odbijać lustrzanie, stąd pomysł o

    MIRRTEXT

    Przygotowałem przykład z własnym blokiem i rzeczywiście metoda

    object.Mirror 

    uruchomiona w VBA działa inaczej niż polecenie ZWCADa.
    Efekt do zobaczenia na obrazku.

    Mirror.png.e9e39671c823e74a6f4752ed038c9c63.png

    Czyli różnica jest w tym, że tekst powinien być przesunięty jeszcze o jego szerokość w tym przypadku w lewo ( odbijałem to po prawej na lewo).

    Dobrze to rozumiem?

  3. Tak, złożenie takiego znaku z dwóch tabliczek obecni jest najłatwiejsze. Można w katalogu 

    c:\Szansa\ZWTraffic\2023\PL\Templates\Vertical traffic signs\Zarządznie nr 34 Generalnego Dyrektora Dróg Krajowych i Autostrad z dnia 30 lipca 2014 roku\Tabliczki do przejścia dla pieszych\

    Znaleźć plik Przejście drugą stroną ulicy, skopiować go, w kopii dopisać potrzebną treść i aplikacją wstawić nowy - zmodyfikowany znak.

  4. Kilku użytkowników podpowiedziało nam, że poszczególne elementy warstw można przesunąć na warstwy odpowiadające ich kolorom. Dzięki temu ułatwimy konfigurację wydruku np przypisując różne style wydruku do poszczególnych kolorów. Pomoże to też we współpracy z innymi aplikacjami.

    Z drugiej strony rozumiem że wyłączanie warstw dla poszczególnych kolorów jest kłopotliwe, a dodatkowo wyłączenie kolorów, spowoduje wyłączenie wszystkich znaków, nie tylko jak w tym przykładzie projektowanych, ale również pozostałych.

    Zastanawiam się jak w tej sytuacji można zrobić, żeby zarówno nie utracić możliwości konfiguracji kolorów jak ja ułatwić wyłączanie poszczególnych znaków.

    Proszę napisać coś więcej, do czego chce Pan wykorzystać wyłączanie poszczególnych znaków? Czy to potrzebne do wydruku? czy chce Pan coś zliczać? jakieś zestawienie? Może uda się opracować jakieś rozwiązanie które umożliwi osiągnięcie zamierzonego przez Pana celu.

  5. Samo przypisywanie kolejnych numerków w atrybutach to proste.
    Komplikacje, które dostrzegam to:

    • ma działać przy kopiowaniu bloku, to można osiągnąć wykorzystując reaktor, albo nadpisując ZWCADową funkcję kopiowania, ale w tym przypadku trzeba obsłużyć wszystkie funkcje kopiujące.
    • ma działać dla różnych atrybutów więc trzeba jakoś odróżnić atrybuty które mielibyśmy przenumerowywać od pozostałych.
    • określenie prefixu i sufixu. to nie jest problem, ale kolejny poziom komplikacji.
    1 godzinę temu, Niuchacz94123 napisał:

    coś w stylu Automatically Label Attribution, od Lee Mac, zmiana byłoby iż każdy atrybut miałby osobne id

    • rozumiem to tak, że jeden blok może mieć różne atrybuty, które trzeba przenumerowywać ? np ID i jakiś np numer przyłącza. One mogą być numerowane niezależnie więc
      1 godzinę temu, Niuchacz94123 napisał:

      wpisuje komendę renum po czym skrypt pyta mnie od którego elementu ma przenumerowac, wpisuje wówczas 2 a on z 3 robi 2

      i np ID przenumeruje z 3 na 2 , ale co z tym przykładowym numerem przyłącza? też ma od 2 przenumerowć? to jest ryzykowne.

  6. Cytat

    7. Czy w ZWCAD 2022 istnieje możwliwość sumarycznego zliczenia powierzchni wszystkich malowanek? Dla przykładu: Wyłączam wszystkie warstwy które nieobejmują oznakowania poziomego, następnie zaznaczam wszytsko i we właściwościach mam rzeczywistą powierznię? Tak działało to np. w Microstation. Wiem, że istnieje zestawienie oznakowania poziomego, ale mam świadomość, że coś może nie zostać ujęte w zestawieniu jak np sytuacja opisana w pukcie 1 i wtedy przedmiar jest nieprawdziwy.

    @Crea00 A czy rozwiązanie analogiczne do tego byłoby intersujące?

     

  7. Możemy wprowadzić ustawienie położenia tekstu.

    Dla elementów liniowych damy możliwość wyboru początku, środka, końca . Czy jakieś inne położenia są potrzebne? może powtórzenia opisu np co zadaną odległość? może obrót by opis był równoległy do linii?

    Dla elementów powierzchniowych ustawienie początku i końca wydaje mi się być nie do końca zrozumiale. Jakie inne opcje dodatkowe są potrzebne przy opisywaniu powierzchni?