Thread View: pl.comp.cad
9 messages
9 total messages
Started by b0bik
Sun, 07 Jun 2009 20:16
OLE, prędkość działania
Author: b0bik
Date: Sun, 07 Jun 2009 20:16
Date: Sun, 07 Jun 2009 20:16
20 lines
2024 bytes
2024 bytes
Witam Mam pytanie, co można zrobić żeby zewnętrzna aplikacja budująca rysunek wykorzystując mechanizmy OLE działała szybciej ? Program korzysta z biblioteki typu (czyli wczesne wiązanie). W MicroStation było kilka opcji, które pozwalały wyłączyć ogólnie odświeżanie rysunku i pare innych rzeczy, dzięki czemu prędkość "malowania" wzrastała. W AutoCAD'zie nie mogę się doszukać. Narysowanie 100 kresek trwa prawie 3 sekundy. Generalnie kod jest taki: 100 x aCADEntity := (fCAD as ACADApplication).ActiveDocument.ModelSpace.AddLine(P1, P2); Reasumując, chodzi mi o coś takiego, żeby wyłączyć wyświetlanie rysowanych obiektów, a jak program skończy rysować to żeby to włączyć. Mam nadzieje że coś takiego istnieje, ale nie mogę wpaść na żaden keyword. Z góry dziękuję za pomoc. b
Re: OLE, prędkość działania
Author: PiotrB.
Date: Mon, 08 Jun 2009 06:53
Date: Mon, 08 Jun 2009 06:53
17 lines
1510 bytes
1510 bytes
Dnia 07-06-2009 o 22:16:44 b0bik <b0bik@poczta.onet.pl> napisał(a): > Reasumując, chodzi mi o coś takiego, żeby wyłączyć wyświetlanie > rysowanych obiektów, a jak program skończy rysować to żeby to włączyć. > Mam nadzieje że coś takiego istnieje, ale nie mogę wpaść na żaden > keyword. Szukałem kiedyś czegoś takiego ale nic nie znalazłem i obawiam się, że nawet nie chodzi o odświeżanie. Spróbuj np. utworzyć blok i zamiast w ModelSpace rysować w tym bloku. Blok nie jest wyświetlany bo jeszcze nie jest wstawiony do rysunku, więc teoretycznie powinno to pomóc, ale obawiam się, że niewiele. Ale żeby 100 linii w 3 minuty to chyba przesadziłeś. Pozdr. Piotr
Re: OLE, prędkość działania
Author: PiotrB.
Date: Mon, 08 Jun 2009 06:54
Date: Mon, 08 Jun 2009 06:54
7 lines
1012 bytes
1012 bytes
Dnia 08-06-2009 o 08:53:34 PiotrB. <ppqqTowytnij@towytnijop.pl> napisał(a): > Ale żeby 100 linii w 3 minuty to chyba przesadziłeś. sorry, sekundy, nie doczytałem. Pozdr. Piotr
Re: OLE, prędkość działania
Author: b0bik
Date: Mon, 08 Jun 2009 19:08
Date: Mon, 08 Jun 2009 19:08
22 lines
2125 bytes
2125 bytes
On 8 Cze, 08:53, "PiotrB." <ppqqTowyt...@towytnijop.pl> wrote: > > Szukałem kiedyś czegoś takiego ale nic nie znalazłem > i obawiam się, że nawet nie chodzi o odświeżanie. > Spróbuj np. utworzyć blok i zamiast w ModelSpace rysować > w tym bloku. Blok nie jest wyświetlany bo jeszcze nie > jest wstawiony do rysunku, więc teoretycznie powinno to pomóc, > ale obawiam się, że niewiele. > > Ale żeby 100 linii w 3 minuty to chyba przesadziłeś. > > Pozdr. Piotr No to mnie zmartwiłeś. Podejrzewam, że mogło by to przyśpieszyć, jakbym najpierw zbudował skrypt a potem go w całości odpalił, ale za wszelką cenę chciałbym tego uniknąć. Korzystanie z wczesnego wiązania jest wielce wygodne. A może ktoś ma jeszcze jakieś pomysły ? b
Re: OLE, prędkość działania
Author: AdamC
Date: Tue, 09 Jun 2009 09:55
Date: Tue, 09 Jun 2009 09:55
9 lines
1179 bytes
1179 bytes
Użytkownik "b0bik" <b0bik@poczta.onet.pl> napisał: > A może ktoś ma jeszcze jakieś pomysły ? REGENAUTO OFF AdamC
Re: OLE, prędkość działania
Author: b0bik
Date: Tue, 09 Jun 2009 18:19
Date: Tue, 09 Jun 2009 18:19
15 lines
1899 bytes
1899 bytes
On 9 Cze, 11:55, "AdamC" <adamc@@poczta.fm> wrote: > Użytkownik "b0bik" <b0...@poczta.onet.pl> napisał: > > > A może ktoś ma jeszcze jakieś pomysły ? > > REGENAUTO OFF > > AdamC Niestety kompletnie bez zmian. Pamiętam że w MicroStation jest kilka takich funkcji, które kompletnie "wyłączają rysunek". Jak się rysuje coś przez ole, czy przez wpisanie to nic nie widać, dopiero jak się to włączy. Jest coś takiego w ACadzie ? b
Re: OLE, prędkość działania
Author: b0bik
Date: Tue, 09 Jun 2009 18:47
Date: Tue, 09 Jun 2009 18:47
14 lines
1855 bytes
1855 bytes
No udało mi się zejść z 3000 ms do 500 ms a więc 6-krotnie szybciej! Sposób (; : (fCAD as ACADApplication).Visible := False; rysowanie (fCAD as ACADApplication).Visible := True; Nie jest to efektowne ale efektywne. Wynik nie taki jak w starym poczciwym MSSE ale jakiś jest. No nic szukam dalej, i nadal proszę o pomysły. Pozdrawiam b0bik
Re: OLE, prędkość działania
Author: leh
Date: Wed, 10 Jun 2009 20:27
Date: Wed, 10 Jun 2009 20:27
6 lines
1202 bytes
1202 bytes
Jeśli masz możliwość to zamiast kilku linii rysuj polilinie, może trochę przyspieszy. Pozdrawiam leh www.leh.cad.pl
Re: OLE, prędkość działania
Author: b0bik
Date: Thu, 11 Jun 2009 07:21
Date: Thu, 11 Jun 2009 07:21
19 lines
2285 bytes
2285 bytes
On 10 Cze, 22:27, " leh" <leh.cad.WYT...@gazeta.pl> wrote: > Jeśli masz możliwość to zamiast kilku linii rysuj polilinie, może trochę > przyspieszy. > > Pozdrawiam > lehwww.leh.cad.pl Pewnie tak, szczególnie że to będzie jedno wywołanie zamiast 100. Nie mniej jednak to wszystko są testy, i akurat w testowym przypadku rysowałem linie wg schematu: | | | | | | | | i tak aż do 100. Mi nie chodzi jak narysować 100 kresek szybciej, tylko jak ogólnie zmusić cały ten mechanizm do szybszego działania. Ale dzięki za chęci. A tak BTW widzę że na tej grupie cisza jak makiem zasiał, gdzie mógłbym (jakieś forum, inna grupa) rzucić to pytanko jeszcze raz ? b
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads