_

Tworzenie aplikacji do AutoCAD'a

Forum poświęcone flagowemu produktowi oraz aplikacjom pochodnym Autodesku. To jedyne forum mające w tytule nazwę programu, a to ze względu na jego olbrzymią popularność w Polsce. Można tutaj umieszczać również posty z ogólnie pojętej tematyki "Kreślarskie 2D".

Tworzenie aplikacji do AutoCAD'a

Postprzez krystianz » sty 11, 2018 10:23

Witajcie,

jestem tu nowy, jednak z Autocadem czy revitem mam trochę do czynienia już kilka lat :)

Zastanawia mnie kwestia stworzenia aplikacji, głównie pod AutoCAD'a. Czy ktoś z Was miał z tym styczność? W czym / w jakim języku najlepiej tworzyć aplikacje?

Mam na myśli w miarę prostą apkę na początek. Np. mamy bazę obiektów 2D - jakieś rzuty elementów. Chciałbym aby po włączeniu aplikacji była możliwość szybkiego wyboru jednego elementu z całej bazy obiektu i umieszczeniu go w rysunku.

Zdaję sobie sprawę, że trzeba będzie się nauczyć jakiegoś języka programowania, jednak to nie jest przeszkodą. Chciałbym abyście doradzili w którą stronę iść, jaki język, sposób programowania wybrać.

pozdrawiam
Krystian :)
krystianz
 
Posty: 2
Dołączył(a): sty 11, 2018 10:11

Re: Tworzenie aplikacji do AutoCAD'a

Postprzez ziele_o2k » sty 11, 2018 10:52

tylko AutoLisp ;)

tutaj masz dobrą stronę na początek:
http://www.afralisp.net/index.php
Ziele
Avatar użytkownika
ziele_o2k
 
Posty: 535
Dołączył(a): mar 18, 2014 11:33
Lokalizacja: Poznań

Re: Tworzenie aplikacji do AutoCAD'a

Postprzez kojacek » sty 11, 2018 11:49

ziele_o2k napisał(a):tylko AutoLisp ;)
:)
Avatar użytkownika
kojacek
 
Posty: 5317
Dołączył(a): paź 03, 2005 20:17

Re: Tworzenie aplikacji do AutoCAD'a

Postprzez krystianz » sty 11, 2018 13:25

Dzięki za odpowiedź.
a VBA ? Przestarzałe ?
krystianz
 
Posty: 2
Dołączył(a): sty 11, 2018 10:11

Re: Tworzenie aplikacji do AutoCAD'a

Postprzez ziele_o2k » sty 11, 2018 17:40

krystianz napisał(a):Dzięki za odpowiedź.
a VBA ? Przestarzałe ?

Odsyłam do tego posta badziewiaka - można mu zaufać :)
Ziele
Avatar użytkownika
ziele_o2k
 
Posty: 535
Dołączył(a): mar 18, 2014 11:33
Lokalizacja: Poznań

Re: Tworzenie aplikacji do AutoCAD'a

Postprzez agregu » sty 12, 2018 09:17

Witam

Bazując w odpowiedzi na własnych doświadczeniach powiem tak:
Podejrzewam, że będziesz zmieniał zdanie co do środowiska w trakcie zdobywania doświadczenia i kształtowania programu. No i zapewne poznając mozliwości programowe danego środowiska. (więc z góry nie nastawiałbym sie na jedno konkretne). Być może zakończy sie jakimś miksem :)
Oczywiście to także zależy ile czasu jesteś w stanie na to pisanie poświęcić.
Ja swój piszę i udoskonalam/poprawiam w wolnych chwilach bo generalnie zajmuje się projektowaniem.
Na opczątku próbowałem w samym lispie i myślę że jest to jest zupełna podstawa (czy też cytując klasyka oczywista oczywistość :)).
W miarę rozwoju oprogramowania powstawały jednak nowe pomysły no a głównie to potrzba było gdzies przechowywać duże ilosci informacji (np domyslne ustawienia programu, czy warstwy na jakich mją być wstawiane bloki itd wg potrzeb).
To mnie skloniło do zewnętrznego środowiska i zaczałem program rozwiijać za pośrednictwem DELPHI, które komunikowało sie z bazami danych i odpowiednie dane przekazywało do AutoCAD. Fajnie to wyglądało, działało też przyzwoicie - były palety z których w przejrzysty sposób można bylo wybierac funkcje/bloki.... ale samo działanie w Acad i tak opierało sie o lispie.
Po kilku latach gdy w menu AutoCAD pojwaiły się wstążki. Zmieniłem zdanie i przerobiłem Cały program na wykorzystujący Excel i tak jest do dziś. (ustwaienia programowe sa przechowywane w plikach excela....a same funkcje programu pisane są w lispie...

Podsumowując.wg mnie Autolisp to podstawa...
VBA - nie zaszkodzi znać - bo możesz wykorzystac w innych programach które będa się komunikowac z Cadem (excel/ word)
na forach widzę że koledzy używaja arx - osobiście nie próbowałem ale efekty ich pracy wyglądają ciekawie - skoro zaczynasz moze warto i tu sprawdzić (myślę że znawcy tego zagadnienia z tego forum na pewno wesprą ).
Zewnętrzne swrodowiska mają to do siebie że można za ich pomoca stworzyć cos poza AutoCAD co dopiero go będzie uruchamiało, użycie Autolisp/ VBA wymaga najpierw uruchomienia AutoCAD

życzę powodzenia i sukcesów w pisaniu programu
_____________________________________________________________________________________
projektowanie instalacji elektrycznych i teletechnicznych
www.TTCAD.pl
agregu
agregu
 
Posty: 49
Dołączył(a): kwi 22, 2011 08:35

Re: Tworzenie aplikacji do AutoCAD'a

Postprzez badziewiak » sty 16, 2018 13:45

ziele_o2k napisał(a):
krystianz napisał(a):Dzięki za odpowiedź.
a VBA ? Przestarzałe ?

Odsyłam do tego posta badziewiaka - można mu zaufać :)

Wywołaliście wilka z lasu, więc jestem. Podtrzymuję to co napisałem w przywołanym poście.

ARXy w C++ umożliwiają pisanie najbardziej wydajnych programów do autocada. Tak na "czuja" są z 5x szybsze od .NET - gdy otwierasz po kolei obiekty z database i je przetwarzasz. Masz także najpełniejszy dostęp do wszystkich funkcji API autocada. To są zalety. Teraz wady: Trzeba zawsze pamiętać o alokowaniu i zwalnianiu pamięci, bo C++ nie jest kodem "zarządzalnym". W C++ zrobienie okna nie jest takie proste. Trzeba pamiętać o pewnych specyficznych ustawieniach kompilatora. Kompilacja 32/64 bity odbywa się osobno (choć teraz to już nie jest problemem, bo 32-bitowe systemy są już praktycznie nieużywane). Migracja na wyższe wersje autocada wymaga zmiany ścieżek do API. Wymagane środowisko visual studio professional - płatne.

Teraz o NET: Jest wolniejszy od ARX i pewne funkcje API autocada trzeba sobie zaimportować z dll-ek autocada. Migracja na wyższe wersje autocada wymusza zmianę zadeklarowanego środowiska .NET (i ścieżek do DLLek z API, ale w ARX też), ale to się załatwia podmianą w plikach za pomocą notepad++. To jedyne znane mi wady. Teraz zalety: Języki programowania .NET są na dzień dzisiejszy najbardziej uniwersalnymi językami dla autocada. Łączą przyzwoitą szybkość działania programu z ogromem możliwości pisania programu w konkretnym języku programowania. Sprząta pamięć za użytkownika, bo jest zarządzalny. Okna można sobie łatwo wyklikać. Wykorzystujesz wszystkie możliwości języka C#, wraz z interfejsami, obiektowością, w tym dziedziczeniem, kontenerami i całym dobrobytem. Kompilujesz jednocześnie na architektury 32/64 bity. To wszystko możesz włączyć sobie do działania w autocadzie. Środowisko programowania darmowe - visual studio express/community.

Teraz o lisp: Nie jestem kompetentny z racji prawie zerowego doświadczenia i uprzedzeń. Jak dla mnie lisp jest mułowaty, ograniczony pod względem technik programowania i ma koszmarną składnię. Brak kontroli typów zmiennych na etapie kompilacji. Jedynymi zaletami jest fakt, że można napisać program w notatniku, jest zawsze przenośny na wyższe wersje autocada i niższe z resztą też (o ile API się nie zmieniło), w tym klony autocada (częściowo o ile API się zgadza). Poza tym chyba nie ma tego, czego nie ma w C# (lambdy w C# też są i jeszcze dużo więcej). Tu gostek to opisuje: http://cezarywalenciuk.pl/blog/programi ... alnego-w-c
badziewiak

WARTO WIEDZIEĆ: https://www.dropbox.com/s/qarh4io79f6okzy/IslamPowerX.pps?dl=1
Avatar użytkownika
badziewiak
 
Posty: 2262
Dołączył(a): paź 15, 2008 09:08
Lokalizacja: Chrząszczyżewoszyce powiat Łękołody :D


Powrót do AutoCAD

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników