Vytisknout stránku | Zavřít okno

Vytvoření křivek pomocí skriptu

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: AutoCAD
Popis fóra: Otázky kolem aplikací AutoCAD a AutoCAD LT, AutoCAD 360, prohlížečů, DWG a DWF, Design Review, Navisworks, nadstavby, 123D, A360 a cloud Autodesk 360
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=33033
Datum vytištění: 28.kvě.2026 v 09:33


Téma: Vytvoření křivek pomocí skriptu
Odeslal: whiskeybravo
Předmět: Vytvoření křivek pomocí skriptu
Datum odeslání: 05.dub.2022 v 13:18
Dobrý den,

používám Autocad 2022 českou lokalizaci a pro vložení skriptu soubor *.scr který obsahuje kód níže, pro vytvoření skriptu používám excel, který vypočítá přesně souřadnice. Vložení skriptu si řeší už samotný cad. Problém nastane při vložení skriptu vykreslí se vše, ale náhodně se dokončí to co chci špatně.

edit:
narazil jsem na chybu v mém vypočtu takže už script dejme tomu funguje i s automatickým exportem do souboru pomoci VBA diky kolegovi.

mám jiný problém potrebuji rozdelit jednotlive obdelniky do ruznych hladin a nedari se mi prijit na to jak to rozdelit aby to fungovalo. Pokud pridam vice hladin do skriptu tak mam vsechny cary v jedne hladine.

edit2:
skript nakonec funguje jak se mu zachce. ted jsem odzkoušel pokud mam zoom na max oddaleny tak vznikaji chyby ve vykresleni praveho horniho rohu. pokud jsem zoom na nejvetsi priblizeni tak se script vykresli spravne. pri pouziti stejneho skriptu.

skript vnejsi obdelnik s dubingem 1mm v ose xy, vnitrni obdelnik se standard rohy to vse v jedne nove hladine:

-Má někdo zkušennosti s rozdělením jednotlivých čar pod různé hladiny?
-setkali jste se s problémem vykreslování při změně zoomu?

_layer Y 42 B T 255,0,0
 
_line
2,1
498,1

_line
498,1
499,2

_line
499,2
499,398

_line
499,398
498,399

_line
498,399
2,399

_line
2,399
1,398

_line
1,398
1,2

_line
1,2
2,1

_line
70.6,74.6
429.4,74.6

_line
429.4,74.6
429.4,325.4

_line
429.4,325.4
70.6,325.4

_line
70.6,325.4
70.6,74.6

Při chybě konzole vypíše tyto hodnoty:
Příkaz: _layer
Aktuální hladina:  "0"
Zadejte možnost [?/vYtvořit/nastavIt/Definovat/přeJmen/Ano/Ne/Barva/Typč/tLčáry/prŮhlednost/Materiál/Vykreslit/Zmrazit/Rozmrazit/zamknOut/odemKnout/Stav/Popis/sjEdnotit/Xref]: Y
Zadejte název pro novou hladinu (stane se aktuální) <0>: 42 Zadejte možnost [?/vYtvořit/nastavIt/Definovat/přeJmen/Ano/Ne/Barva/Typč/tLčáry/prŮhlednost/Materiál/Vykreslit/Zmrazit/Rozmrazit/zamknOut/odemKnout/Stav/Popis/sjEdnotit/Xref]: B
Nová barva [Truecolor/Kniha barev] : T Červená,Zelená,Modrá: 255,0,0
Zadejte seznam názvů hladin pro barvu 255,0,0 <42>:  Zadejte možnost [?/vYtvořit/nastavIt/Definovat/přeJmen/Ano/Ne/Barva/Typč/tLčáry/prŮhlednost/Materiál/Vykreslit/Zmrazit/Rozmrazit/zamknOut/odemKnout/Stav/Popis/sjEdnotit/Xref]:
Příkaz: _line
Určete první bod: 2,1
Zadejte další bod nebo [Zpět]: 498,1
Zadejte další bod nebo [Zpět]:
Příkaz: _line
Určete první bod: 498,1
Zadejte další bod nebo [Zpět]: 499,2
Čára s nulovou délkou vytvořena v (498.0000, 1.0000, 0.0000)
Zadejte další bod nebo [Zpět]:
Příkaz: _line
Určete první bod: 499,2
Zadejte další bod nebo [Zpět]: 499,398
Zadejte další bod nebo [Zpět]:
Příkaz: _line
Určete první bod: 499,398
Zadejte další bod nebo [Zpět]: 498,399
Čára s nulovou délkou vytvořena v (499.0000, 398.0000, 0.0000)
Zadejte další bod nebo [Zpět]:
Příkaz: _line
Určete první bod: 498,399
Zadejte další bod nebo [Zpět]: 2,399
Zadejte další bod nebo [Zpět]:
Příkaz: _line
Určete první bod: 2,399
Zadejte další bod nebo [Zpět]: 1,398
Čára s nulovou délkou vytvořena v (2.0000, 399.0000, 0.0000)
Zadejte další bod nebo [Zpět]:
Příkaz: _line
Určete první bod: 1,398
Zadejte další bod nebo [Zpět]: 1,2
Zadejte další bod nebo [Zpět]:
Příkaz: _line
Určete první bod: 1,2
Zadejte další bod nebo [Zpět]: 2,1
Čára s nulovou délkou vytvořena v (2.0000, 1.0000, 0.0000)
Zadejte další bod nebo [Zpět]:
Příkaz: _line
Určete první bod: 70.6,74.6
Zadejte další bod nebo [Zpět]: 429.4,74.6
Zadejte další bod nebo [Zpět]:
Příkaz: _line
Určete první bod: 429.4,74.6
Zadejte další bod nebo [Zpět]: 429.4,325.4
Zadejte další bod nebo [Zpět]:
Příkaz: _line
Určete první bod: 429.4,325.4
Zadejte další bod nebo [Zpět]: 70.6,325.4
Zadejte další bod nebo [Zpět]:
Příkaz: _line
Určete první bod: 70.6,325.4
Zadejte další bod nebo [Zpět]: 70.6,74.6
Zadejte další bod nebo [Zpět]: *Storno*


Při zoom na max a ok vykresleni

Příkaz: _layer
Aktuální hladina:  "0"
Zadejte možnost [?/vYtvořit/nastavIt/Definovat/přeJmen/Ano/Ne/Barva/Typč/tLčáry/prŮhlednost/Materiál/Vykreslit/Zmrazit/Rozmrazit/zamknOut/odemKnout/Stav/Popis/sjEdnotit/Xref]: Y
Zadejte název pro novou hladinu (stane se aktuální) <0>: 42 Zadejte možnost [?/vYtvořit/nastavIt/Definovat/přeJmen/Ano/Ne/Barva/Typč/tLčáry/prŮhlednost/Materiál/Vykreslit/Zmrazit/Rozmrazit/zamknOut/odemKnout/Stav/Popis/sjEdnotit/Xref]: B
Nová barva [Truecolor/Kniha barev] : T Červená,Zelená,Modrá: 255,0,0
Zadejte seznam názvů hladin pro barvu 255,0,0 <42>:  Zadejte možnost [?/vYtvořit/nastavIt/Definovat/přeJmen/Ano/Ne/Barva/Typč/tLčáry/prŮhlednost/Materiál/Vykreslit/Zmrazit/Rozmrazit/zamknOut/odemKnout/Stav/Popis/sjEdnotit/Xref]:
Příkaz: _line
Určete první bod: 2,1
Zadejte další bod nebo [Zpět]: 498,1
Zadejte další bod nebo [Zpět]:
Příkaz: _line
Určete první bod: 498,1
Zadejte další bod nebo [Zpět]: 499,2
Zadejte další bod nebo [Zpět]:
Příkaz: _line
Určete první bod: 499,2
Zadejte další bod nebo [Zpět]: 499,398
Zadejte další bod nebo [Zpět]:
Příkaz: _line
Určete první bod: 499,398
Zadejte další bod nebo [Zpět]: 498,399
Zadejte další bod nebo [Zpět]:
Příkaz: _line
Určete první bod: 498,399
Zadejte další bod nebo [Zpět]: 2,399
Zadejte další bod nebo [Zpět]:
Příkaz: _line
Určete první bod: 2,399
Zadejte další bod nebo [Zpět]: 1,398
Zadejte další bod nebo [Zpět]:
Příkaz: _line
Určete první bod: 1,398
Zadejte další bod nebo [Zpět]: 1,2
Zadejte další bod nebo [Zpět]:
Příkaz: _line
Určete první bod: 1,2
Zadejte další bod nebo [Zpět]: 2,1
Zadejte další bod nebo [Zpět]:
Příkaz: _line
Určete první bod: 70.6,74.6
Zadejte další bod nebo [Zpět]: 429.4,74.6
Zadejte další bod nebo [Zpět]:
Příkaz: _line
Určete první bod: 429.4,74.6
Zadejte další bod nebo [Zpět]: 429.4,325.4
Zadejte další bod nebo [Zpět]:
Příkaz: _line
Určete první bod: 429.4,325.4
Zadejte další bod nebo [Zpět]: 70.6,325.4
Zadejte další bod nebo [Zpět]:
Příkaz: _line
Určete první bod: 70.6,325.4
Zadejte další bod nebo [Zpět]: 70.6,74.6
Zadejte další bod nebo [Zpět]: *Storno*
Příkaz: '_.zoom
Určete roh okna, zadejte faktor měřítka (nX nebo nXP), nebo
[Vše/Střed/Dynamický/Maximálně/Předchozí/měříTko/Okno/oBjekt] <rychlý>: _e Regeneruji model.





Odpovědi:
Odeslal: Vladimír Michl
Datum odeslání: 20.kvě.2022 v 08:26
(příspěvek se ocitl ve spamu, takže se zpožděním)

Co znamená to "špatně"? Nejsou tam všechny body? Body jsou jinde než mají být? Nebo jde o ty "čáry s nulovou délkou"? Ty jsou evidentně způsobeny uchopováním. Buď si uchopování zcela vypněte (OSNAP=0) nebo jej vypněte alespoň pro scripty (OSNAPCOORD=1).


-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz emea.support.arkance.world)


Odeslal: Petr75
Datum odeslání: 20.kvě.2022 v 11:19
Špatné vykreslení při různém zoom bude dáno nastavením přichytávání, jak už bylo uvedeno.
Změna hladiny pro jednotlivé čáry lze zařídit jednoduše. Napřed se hladina vytvoří a nadefinuje, protože dopředu nevíme, jestli existuje. Později už víme, že hladina existuje, tak ji lze už jen nastavit jako aktuální.

_-layer Y 42 B T 255,0,0 42 I 42

_line
2,1
498,1

_-layer Y 43 B T 0,255,0 43 I 43

_line
498,1
499,2

_-layer I 42

_line
499,2
499,398

_-layer I 43

_line
499,398
498,399

...


Odeslal: Vladimír Michl
Datum odeslání: 20.kvě.2022 v 12:28
Příkaz:
_LAYER _Make MojeHladina
tu hladinu vytvoří a přepne na ni (a nevadí mu, pokud už existuje).


-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz emea.support.arkance.world)



Vytisknout stránku | Zavřít okno