kaminki

Użytkownik forum
  • Postów

    22
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    1

Treść opublikowana przez kaminki

  1. Czy jest możliwe w C# stworzenie paska narzędzi? Jak poniżej na zdjęciu. Paleta jest troszkę zbyt duża a potrzebuję sobie dokować z narzędziami. A inne pytanie to czy w ZWCad możemy dodawać własne zakładki w C#? W AutoCad jest to możliwe a tu widzę że nie widzi klas potrzebnych do realizacji tego. Może trzeba podłączyć jakąś bibliotekę?
  2. Pracuję nad zbrojeniami ścian i stropów. Powyższy przybornik jest raczej do elementów typu podciąg. A przynajmniej tak to wygląda.
  3. Witam. Co myślicie o przechowywaniu wszystkich danych odnośnie rysunku w zewnętrznej bazie SQLite? Załóżmy, że mam pręty zbrojeniowe i ich opisy. Na rysunku będą to zwykłe polilinie i tekst. W bazie bym przechowywał do nich Handle i wszystkie pozostałem dane jak średnica czy liczba sztuk. W momencie jakiejkolwiek zmiany mógłbym wtedy pobrać sobie listę Handle's obiektów i zaktualizować je. Pracuje teraz nad przechowywaniem danych w samym pliku CAD ale potrzeba często sporo kodu aby coś znaleźć czy pracować nad danymi obiektami. Pozdrawiam
  4. Czy istnieje takie narzędzie jak ARXDBG dla AutoCad? Było by bardzo pomocne
  5. Dostaję informację, że metoda nie jest zaimplementowana. W API nazwa metody istnieje, lecz to tylko pusta nazwa i nic więcej. Arc arc2 = new Arc(); arc2.Center = new Point3d(px, py, 0); arc2.Radius = c.Radius - 30; arc2.StartAngle = 1.04; arc2.EndAngle = 4.18; arc2.StartPoint = arc.StartPoint; arc2.EndPoint = arc.EndPoint;
  6. Witam Wiadomo coś czy kiedykolwiek będzie zrobione coś z metodami StartPoint i EndPoint w API? Potrzebuję stworzyć coś takiego jak na załączonym obrazku. Tworzę pierwszy łuk przez obiekt Arc a kolejny chciałbym jako podanie punktów startu i końca oraz zmianę promienia. Spline również nie działa.
  7. Mam okrąg w kilku egzemplarzach na rysunku. Gdy modyfikuję jeden dowolny to pozostałe również zmieniają się. Czy jest inny sposób niż przez bloki? Czy zadziałałoby to poprzez użycie "event handle"? - utworzyć nod do przechowywania informacji o nazwie np. "my_circle" - narysowanie okręgu o promieniu r - dodanie jego ObjectId do my_circle - kopiowanie okręgu oraz dla każdej kopi dodanie Objectid do tego samego my_circle - każdy okrąg w xdate będzie zawierał tekst "my_circle" -> potrzebne do identyfikacji wszystkich okręgów powiązanych z nod o takiej samej nazwie - każdy okrąg będzie posiadał załadowany event handle do metody analizuj() (handle wrażliwe na modyfikację obiektu) - a w metodzie analizuj(): * gdy zostanie wywołane to znak, że obiekt został zmodyfikowany. Zapamiętanie zmienionego obiektu. Pobranie z xdata jego nazwy, przejście do nod -> my_circle i w pętli po wszystkich obiektach odczyt ObjectId -> pobranie każdego rzeczywistego obiektu, usunięcie go i podstawienie w to miejsce zmodyfikowanego okręgu. Jeżeli oczywiście można bezproblemowo użyć zapisu o ObjectId jako string do odszukania na rysunku obiektu okręgu. Czy jest to dobra droga do rozwiązania problemu? Jeszcze nie pisałem tego, a chciałbym dowiedzieć się czy jest możliwe takie rozwiązanie lub może istnieje lepsze podejście.
  8. Wiadomo czy będzie i w której wersji obsługa Overrules w ZWCad?
  9. Mogę coś takiego przygotować C#. Będzie działało tylko na wersji profesjonalnej ZWCad. Ale to najwcześniej wieczorem lub jutro. Plan działania: Wyłączenie wszystkich obiektów (linii, polilinii) jako zaznaczenie lub wszystko na danej warstwie.
  10. Jest to jakieś wyjście ale przy jest przekłamanie. Zmienia skalę i wprowadza mały obrót.
  11. Czy jest możliwe wyłączenie lokalizacji względem obiektu dla części rysunku? ( np. dla obiektów na danej warstwie lokalizacja jest wyłączona ). Przydałoby się to w sytuacji gdy nakłada się dwa rysunki na siebie, a rysunek pod spodem żeby zachowywał się tak jakby był zdjęciem - podkładką. Czasami są przesunięcia wielkości 0.0000002 j.d i kursor łapie niepożądane punkty.
  12. Nie zmienia się ale dlaczego pole jest niedokładne, jeżeli każdy element jako linia/polilinia posiada równą długość. Gdyby obwód był nierówny to było by to zrozumiałe ale w takiej sytuacji nie powinno tak być. Gdy rysujemy z ręki, podając wymiary każdej linii to jest ok. Ale podczas rysowania używa się funkcji np. odsuń, utnij czy kopiuj. Finalnie łączy się to w całość i powstaje taki problem.
  13. test.dwg Jednostka: mm Typ: Dziesiętny i dokładność maksymalna Co jest nie tak w tym rysunku? Po rozbiciu i sprawdzeniu długości każdego elementu powinno być poprawnie.
  14. Czy jest jakaś możliwość naprawy takiej sytuacji? Długości linii są pełne, natomiast pole jest z błędem. Mamy dostęp do tylko 8 miejsc po przecinku dla wartości. Czy tylko u mnie tak się zdarza? Jest to polilinia złożona z kilku linii (połączone w jedną całość). Gdy przerysuje się wszystko jedną polilinia to jest ok. Ale przerysowywanie każdego obiektu zajmie wieki. Co może być przyczyną?
  15. 2017.07.21(19945)_x64_S Blok jest utworzony ale nie ma w tej chwili znaczenia miejsce dodania pola gdyż nie chce przejść definicji pola. Np. dodanie daty w ten sposób jest bezproblemowe. Błąd pokazuje się tylko w przypadku bloku (odniesienie do bloku)
  16. Co może być przyczyną błędu? (Zdjęcie poniżej) Chcę zrobić prostą, dynamiczną kotę wysokościową.
  17. A w jaki sposób XData ułatwi wstawianie bloków opisowych? Czyli cały opis jako blok z atrybutami a kształt pręta to zwykła polilinia obok opisu? Nie można jakoś powiązać opisu z kształtem pręta? Przedstawię co potrzebuję: Na rysunku zdefiniuję linie jako pręty z opisami. Opis ma być jako blok tak? A co z linią? Na rysunku mam ten sam pręt w kilku miejscach. Na koniec podczas wyciągania pręta zlicza wszystkie sztuki na całym rysunku i tworzy nowy inny opis wraz z długością (wymiar na dole pręta). Chciałbym aby również była taka możliwość że gdy zmienię średnicę pręta w jednym miejscu na wyciągniętym pręcie to zmieni się to również na całym rysunku. Czy bloki opisów pozwolą na to? Czy nie będzie potrzebne powiązanie linii z opisem?
  18. Jak przechowywać dane w pliku rysunku cad? Mam pręt. Składa się z polilinii oraz opisu. W opisie jest zawarty numer pręta , średnica, długość, liczba sztuk i inne dodatkowe dane. Numer pręta będzie dodawany automatycznie. Gdzie przechowywać takie dane w rysunku aby było do nich stały dostęp (przy każdym uruchomieniu muszą być w pamięci)? Widziałem, że jest np. XData ale jeśli to jest ta droga to jak to zrobić aby dostosować do tej sytuacji. W dokumentacji czy blogach sprzed kilku lat to tylko pokazują jak dodać jakiś prosty, pojedynczy, tekst do danego Entity. A ja potrzebuję przechowywać całe kolekcje (słownik z dynamicznymi listami). Lepiej zrobić pręt jako blok z tekstem i polilinią czy nową klasę z polami Polyline i MText/MLeader?
  19. W takim razie czekam na SDK i jeśli będą problemy to będę pisał.
  20. Nic nie wykazywało. Pokazuje, że wszystko powinno być ok. A jakich wersji powinienem użyć do poprawnej pracy ( Visual Studio 2015, Framework .Net 4.6)? Może jakieś dodatkowe opcje? I czy muszę mieć SDK dla programu czy podpięcie plików ZwDatabaseMgd.dll i ZwManaged.dll jest wystarczające? Na forum znalazłem, że można uzyskać SDK wysyłając wiadomość mailową.
  21. Poprzez zaznaczenie obiektów na rysunku program wybiera tylko MText i go przetwarza, tj pobiera i wyciąga wartości liczbowe przez regex. Sumuje uzyskane liczby i wyświetla numer i sumę w linii komend. W programie AutoCad działa tak jak powinno. W ZWCad ładuję plik .dll, wywołuje komendę i wybieram obiekty, lecz tu tylko pokazuje ile znalazło obiektów i kończy działanie. Może problem jest z samym wyświetleniem wyniku?
  22. Witam, czy ktoś podpowie jak skompilować kod aby działał poprawnie w ZWCAD 2017. Gdy testuję w AutoCad to jest wszystko dobrze.. Podmieniłem referencje do plików z ZWCAD (ZwDatabaseMgd.dll i ZwManaged.dll). Nakładka pobiera wartości z tekstu wieloliniowego MText. W ZWCAD czasami zadziała ale głównie funkcja nie zwraca wyniku. Wczytuje się ale bez uzyskania rezultatu. Co może być błędem? Wersja VS czy .Net, czy coś innego? Myślę, że są to proste funkcje i nie powinny różnić się od AutoCad, gdzie wszystko działa poprawnie.