Vytisknout stránku | Zavřít okno

Přerušení funkce

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: CAD programování
Popis fóra: Otázky programování - nadstavby a utility pro CAD a GIS aplikace Autodesk (VBA, AutoLISP, ARX/C++, .Net, JavaScript, Python, MEL...)
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=1115
Datum vytištění: 17.čer.2026 v 19:34


Téma: Přerušení funkce
Odeslal: PepaR
Předmět: Přerušení funkce
Datum odeslání: 18.čvc.2005 v 07:23
Dobrý den,
nadefinoval jsem si lisp, ktery mi nastavi hladinu a typ čáry jako jeden příkaz, avšak při zadávání mi vadí, že se funkce před zadáním bodu přeruší a napíše "Neplatný bod" a pak pokračuje dál? Neporadil by někdo prosím?
 
http://www.cadforum.cz/forum/uploads/PepaR/2005-07-18_072259_Izolace.lsp - 2005-07-18_072259_Izolace.lsp
 
Dále bych měl ještě následující dva dotazy na ktreré jsme nenalezl odpověď v nápovědě:
1) Co všechno za anstavení uchovává šablona výkresu DWT?
2) Lze přes lisp udělat fuknkci, která mi změří vzdálenost pomocí 3 koncových bodů a následně vloží tuto hodnotu do jednoho z atributů? Zkoušel jsem to pomocí "getdis", ale nepodařilo se.
 
S pozdravem a díky za odpovědi
PepaR
 
 



Odpovědi:
Odeslal: Chlebník
Datum odeslání: 18.čvc.2005 v 08:38

Chyba je v tom že pravděpodobně ve výkresu nemáte vytvořené všechny potřebné hladiny a typy čar

jedná se o :

hladiny: SRAFY, KCE POD

typy čar :IZOLACET, IZOLACEZ

takže doporučuju tyto hladiny a typy čar vytvořit a soubor uložit do DWT jako šablonu.

Dále k dotazům pro šablonu : dá se říci že je to v podstatě DWG soubor. Jen se jinak otevírá. Takže se v něm uchovává takřka vše co v DWG.

Jmenovitě : hladiny, typy čar..... a další, bloky, styly písem, styly kot, naddefinované layouty (rozvržení) .... VBA......

Ohledně lispu jde úplně vše na co si člověk pomyslí. Jen nechápu co je vzdálenost tří koncových bodů ???  A vložit jde kamkoliv. Stačí lépe popsat co vlastně chcete a není problém něco stvořit.



-------------
Ing. Martin Chlebovský
Projektant a vývojář
Veletrhy Brno a.s.


Odeslal: PepaR
Datum odeslání: 18.čvc.2005 v 09:17

Hladiny a typy čar, mám načteny již před spušttěním fce.



Odeslal: Chlebník
Datum odeslání: 18.čvc.2005 v 09:45

Hmmm jasný.

Parametr "pause" vždy zastupuje pouze jeden jediný vstup uživatele. Takže vy voláte funkci PLINE, pak Cad čeká pouze na jeden vstup uživatele a hned spouští další procedurku. Takže příkaz Pline je pořád aktivní, a spouští funkci pro navrácení hladin a výpis že čára byla vytvořena. Což není pravda protože příkaz PLINE pořád ještě pokračuje.

 

Takže co s tím ?

a) pokud je daný počet bodů (třeba 2) tak přepsat (command "pline" pause) na

(command "_pline" pause pause "") a vše bude OK.

b) Ale pokud bude počet bodů nejasný tak je třeba nejprvé definovat body pomoci getpoint, to načítat do nějakého seznamu a pak po jejich zadání teprvé vytvořit polylinu pomoci "entmake" sice pracnější pro Lisp ale lepší.



-------------
Ing. Martin Chlebovský
Projektant a vývojář
Veletrhy Brno a.s.


Odeslal: PepaR
Datum odeslání: 19.čvc.2005 v 06:57
Děkuji moc za radu, asit o bduu řešit 2x pause. Rád bych si zkusil i proceduru přes getpoint, ale potřeboval bych nějaký vzor. Nemohl bych Vás opět požádat o pomoc?
 
Tou druhou LISP utilitou bylo myšleno, že mám blok sloužící ke kótování dveří na osu, kde jsou definovány atributy ŠÍŘKA; VÝŠKA a TYP. Tento blok vkládám do výkresu přes _-INSERT přes potřebné natočení, ale ještě než jej vložím bych potřeboval vyvolat vyzvu, ktera mi změří šířku dveří a zapíše ji do atributu ŠÍŘKA, POPŘ. LISP vyzve k zdání hodnoty ručně, pak funkce vyzve k zadáni VÝŠKY a TYPu. To vše přes příkazový řádek.



Vytisknout stránku | Zavřít okno