kruszynski

Moderatorzy
  • Content Count

    1191
  • Joined

  • Last visited

  • Days Won

    44

Everything posted by kruszynski

  1. Proszę napisać coś więcej w temacie jak się tym posługiwać. Odblokowałem pliki dll zgodnie z powyższym filmikiem, wcześniej wywalało mi że load failed. Teraz kiedy ładuję plik CADKitBasicZwCAD przez polecenie NETLOAD Wyświetala mi: Ładowanie CADKitBasicZwCAD... Ładowanie CADKitElevationMarksZwCAD... I co dalej? jest OK bo nie ma wspomnianego przez Pana komunikatu błędu? czy nie jest OK bo nie widzę panela widocznego na Pana screenie? Wczytuję też CADKitZwCAD.dll i Autofac.dll nic się nie dzieje, nie wyświetla ani błąd, ani potwierdzenie że coś jest OK.
  2. Wygląda na to, że nie trzeba dodawać, usuwać i przesuwać. Wystarczy dodać do bazy, otworzyć do zapisu i będzie OK. Twój kod przerobiłbym tak: using ZwSoft.ZwCAD.DatabaseServices; using ZwSoft.ZwCAD.EditorInput; using ZwSoft.ZwCAD.Geometry; using ZwSoft.ZwCAD.GraphicsInterface; using ZwSoft.ZwCAD.ApplicationServices; using ZwSoft.ZwCAD.Runtime; namespace JigTest { public class Jig : DrawJig { private readonly Point3d basePoint; private readonly Entity entity; private Point3d currentPoint; public Matrix3d transformation; public Jig(Entity txt, Point3d point) : base() { entity = txt; basePoint = point; } protected override SamplerStatus Sampler(JigPrompts prompts) { JigPromptPointOptions jigOpt = new JigPromptPointOptions("Wskaż punkt wstawienia:") { UserInputControls = UserInputControls.Accept3dCoordinates, BasePoint = basePoint }; PromptPointResult res = prompts.AcquirePoint(jigOpt); currentPoint = res.Value; return SamplerStatus.OK; } protected override bool WorldDraw(WorldDraw draw) { transformation = Matrix3d.Displacement(basePoint.GetVectorTo(currentPoint)); var geometry = draw.Geometry; if (geometry != null) { geometry.PushModelTransform(transformation); geometry.Draw(entity); } return true; } } public class JigCommands { [CommandMethod("JIG")] public void Jig() { try { var tx1 = new DBText(); tx1.SetDatabaseDefaults(); tx1.TextStyle = Application.DocumentManager.MdiActiveDocument.Database.Textstyle; tx1.Height = 2; tx1.Position = new Point3d(0, 0, 0); tx1.TextString = "Tekst"; tx1.VerticalMode = TextVerticalMode.TextVerticalMid; SaveToDatabase(tx1); Document doc = Application.DocumentManager.MdiActiveDocument; using (var tr = doc.TransactionManager.StartTransaction()) { var txt = tr.GetObject(tx1.Id, OpenMode.ForWrite) as DBText; var jig = new Jig(txt, new Point3d(0, 0, 0)); Application.DocumentManager.MdiActiveDocument.Editor.Drag(jig); txt.TransformBy(jig.transformation); tr.Commit(); } } catch (Exception ex) { Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage(ex.Message); } } public static void SaveToDatabase(Entity ent) { Document doc = Application.DocumentManager.MdiActiveDocument; using (var tr = doc.TransactionManager.StartTransaction()) { var btr = tr.GetObject(doc.Database.CurrentSpaceId, OpenMode.ForWrite) as BlockTableRecord; btr.AppendEntity(ent); tr.AddNewlyCreatedDBObject(ent, true); tr.Commit(); } } } } Choć zaznaczam, że wcale nie czuję się tu jakoś bardzo kompetentny.
  3. Skrypt w załączniku. ExtraExplode.zelx
  4. Przygotuję takiego lispa. A tak przy okazji: w jakich sytuacjach taka operacja może się przydać?
  5. kruszynski

    Dokowanie panelu (C#)

    Zgłoszone.
  6. kruszynski

    Dokowanie panelu (C#)

    Można dodać obsługę zdarzenia na zamknięcie palety _ps.StateChanged += new PaletteSetStateEventHandler(OnPaletteClose); Tam zapisać położenie panelu static void OnPaletteClose(object sender, PaletteSetStateEventArgs e) { if (e.NewState == StateEventIndex.Hide) { ; tutaj zapisujemy położenie panelu w jakimś "pamiętniku" np zmiennej środowiskowe. } } A przy wczytywaniu sprawdzić co jest zapisane w "pamiętniku".
  7. kruszynski

    Dokowanie panelu (C#)

    Sztuczka polega na tym, żeby ustawić np _ps.Dock = DockSides.Left; ale dopiero PO _ps.Visible = true; Czyli np: _ps = new PaletteSet("Group Manager"); _ps.DockEnabled = (DockSides)((int)DockSides.Left + (int)DockSides.Right); _ps.Visible = true; _ps.Dock = DockSides.Left;
  8. Nazbierało się tych tematów. Dziękuję. Kilka wygląda prosto, kilka wymaga konsultacji z ZWSOFT. Ale chciałbym dopytać: Proszę napisać coś więcej. Wyświetlanie ilości grup to prosta sprawa, ale po co lista rozwijalna? liczba porządkowa w dodatkowej kolumnie dla każdej grupy? też nic wielkiego, a do czego to może się przydać? Czy dobrze się domyślam, że chodzi o to, żeby w miejsca które zaznaczyłem czerwoną strzałką wstawić ikonkę wyświetlającą panel?
  9. kruszynski

    Zwcad 2019 .NET publisher

    Mam przykład, który tworzy PDFa z aktualnego rysunku. Może się przydać. Nie wykorzystuje Dsd, ale tworzy PDFa. TestPlot.rar
  10. kruszynski

    Zwcad 2019 .NET publisher

    Nie pracowałem wcześniej z DSD, więc nie umiem powiedzieć nic pewnego, ale chciałem dopytać w ZWSOFT o szczegóły. Przesłany kod, to tylko fragment większej całości. Zakładam, że mógłbym obudować ten fragment całością, którą dałoby się skompilować, i przetestować, ale mogłoby się okazać, że coś zrobiliśmy inaczej, co da różne wyniki. W związku z tym proszę o przesłanie szerszego fragmentu, pozwoli na wierne odtworzenie sytuacji.
  11. kruszynski

    Zwcad 2019 .NET publisher

    Proszę napisać coś więcej. Co się dzieje ? A co dziać się powinno, ale się nie dzieje?
  12. kruszynski

    ZWTraffic_2020 zestawienie znaków

    Rozwiązane w aktualizacji dostępnej do pobrania tutaj: https://cad.szansa.net.pl/?dir=ZWTraffic_2020
  13. kruszynski

    ZWTraffic_2020 zestawienie znaków

    Czy może Pan przesłać fragment pliku, który mógłbym przeanalizować pod kątem różnic w wyliczanej powierzchni ? jeśli to możliwe proszę usunąć z rysunku wszystko poza tymi elementami oznakowania, które mają niezgodną powierzchnię. Pozdrawiam.
  14. kruszynski

    ZWTraffic 2020

    Dziękuję, poprawię przy okazji najbliższej aktualizacji
  15. kruszynski

    Kopiowanie z szykiem

    W tym przypadku : 1. zaznaczamy okrąg 2. wpisujemy wartość 50, (albo zaznaczamy dwa punkty) 2. wpisujemy wartość 500, (albo zaznaczamy dwa punkty) Pozostaje nam określić kierunek. Czy to ma być wzdłuż osi X, czy jeszcze podajemy kierunek? Czy dobrze rozumiem, że tak ma to działać?
  16. To może jeśli to jest jednorazowa sytuacja, może szybciej użyć jakiegoś gotowego internetowego kalkulatora przeliczającego współrzędne ? Np: http://piast.edu.pl/Tools/Geographic-Calculations-Calculators#
  17. kruszynski

    Znaki pionowe - słupki

    Sprawdziłem i wyszło mi, że choć słupek pozostaje w dotychczasowym kolorze, to jest na nowej warstwie. Można tego nie zauważyć bo nie zmieni koloru. Proszę sprawdzić we właściwościach zmienionego podwójnego słupka na jakiej jest warstwie. W takim przypadku można edytować blok (polecenie _BEDIT, lub REFEDIT ) , zaznaczyć wszystko i zmienić kolor na "ByBlock". powinno pomóc, jeśli nie, proszę przesłać przykład na adres pomoc@zwcad.pl w celu bardziej szczegółowej analizy. Przypisywanie różnych warstw dla projektowanych znaków pionowych i poziomych to jedna z nowości jaką przygotowujemy w ZWTraffic 2020.
  18. Jeśli ustawione jest położenie geograficzne można dobrać się do współrzędnych właśnie dzięki vla-get-Longitude vla-get-Latitude Choćby tak: (setq marker_object (vlax-ename->vla-object (car(entsel ))) ; prosimy użytkownika o wybranie markera (vla-get-Longitude marker_object)) (vla-get-Latitude marker_object)) Niestety to działa w programie AutoCAD. ZWCAD nie obsługuje tego typu obiektów. Przekazałem temat do ZWSOFT W ZWCAD jest funkcja cvunit która pozwana na przeliczanie różnych jednostek, ale niestety w przypadku współrzędnych geograficznych również się nie sprawdzi. Może udałoby się znaleźć jakieś inne rozwiązanie, gdyby przedstawił Pan temat trochę szerzej. Do jakich zadań potrzebna jest Panu znajomość współrzędnych geograficznych?
  19. Wyjaśnić niestety nie potrafię, ale zgłosiłem do ZWSOFT.
  20. Najprościej tak: (command "zoom" "o" (handent "ABC" ) "" ) Gdzie w miejsce "ABC" proszę podstawić znany uchwyt.
  21. kruszynski

    Znaki poziome kierunek opisu

    OK. A co Pan myśli o tym, żeby na koniec pozostawić możliwość przekręcenia opisu wg własnych potrzeb ?
  22. kruszynski

    Nowe okno biblioteki znaków

    Dzień dobry Zastanawiam się nad zmianą okna biblioteki znaków. Proszę o opinie, czy warto wprowadzić takie zmiany? Nowe okno wyobrażam sobie mniej więcej tak: Po kliknięciu na przycisk [ + ], wyświetliłoby się okno wyboru znaku: Po wybraniu znaku: podgląd zastąpiłby przycisk [ + ] i pojawiłyby się kolejne ułatwiające wstawianie znaków w różnych układach - nie tylko tak jak jest pionowo ale też np rzędach:
  23. kruszynski

    przezroczyste lica znaków

    Przeglądając projekty organizacji ruchu, jakie znalazłem w Internecie spotkałem sporo przypadków, gdzie lico znaku to tylko kontury, tło jest przezroczyste. Kiedy taki sposób oznakowania jest stosowany? Czy warto wprowadzić taki sposób wstawiania znaków do ZWTraffic?
  24. kruszynski

    ZWCAD 2019 - puste wiersze

    Wcześniej nie zwróciłem na to uwagi, ale dziś zauważyłem że mam podobny objaw. Spróbowałem rozciągnąć pasek poleceń żeby zobaczyć czy pojawi się więcej pustych wierszy. Po rozciągnięciu efekt zniknął. wypełniły się wszystkie wiersze i teraz nie umiem wrócić do sytuacji kiedy problem się pojawił.