Zobrazit plnou verzi příspěvku: automatické číslování objektu a následná extrakce
Dobrý den,snažím se v půdorysu automaticky očíslovat objekty (sítě) a následně extraktovat data (jméno hladiny a X,Y,Z souřadnice, rozměry) do excelu.Povedlo se mi očíslovat sítě pomocí InsertC funkce, která očísluje text (který jsem umístila ručně na každý objekt). Dá se nastavit ať se čísluje zprava doleva apod.Potřebovala bych, aby každý ten objekt měl svoje unikátní číslo, tak aby při extrakci mělo každé číslo v tabulce svou hladinu a rozměry.Děkuji za jakoukoliv radu.Petra
Vladimír Michl
05.09.2014, 15:00
Jakou síť číslujete? Nepomohla by utilita DrGrid? (viz tipy a download)Těmi hladinami bych to nekomplikoval - nebo je potřebujete i kvůli něčemu jinému než číslování/vykazování?
Tip na utilitku... je to teda až přes míru komplexní, ale třeba tam najdete co potřebujete. ¨http://www.lee-mac.com/programs.htmlIncremental Numbering Suite
Děkuju za odpověď.Hladiny potřebuji vyexportovat kvůli orientaci, který objekt je z jakého materiálu, to je na tom nejvíc důležité, takže v tom mi asi tahle utilita nepomůže..
Vladimír Michl
08.09.2014, 09:31
Pokud ta funkčnost bude obecně použitelná, rádi upravíme některou z našich utilit. Jaké entity tvoří tu "síť" a jak k nim chcete připojit číslo? (text napsaný jen "někde poblíž" na to není moc vhodný)
Myslím, že by tato utilita mohla najít obecné využití v designu, osvětlení, nejrůznějších plastik - a tedy následně při zpracování výrobní dokumentace. V mém oboru se s tímto problémem setkáváme dnes a denně. Přikládám obrázky pro lepší vysvětlení. V půdorysu by bylo číslo umístěné přímo nad komponentem.V excel tabulce by tedy bylo číslo komponentu, hladina a nejvyšší bod v ose Y (v tomto konkrétním případě), souřadnice. Ideální by bylo automatické očíslování komponentů ve směru X nebo Y. V tomto konkrétním případě je komponent složen ze tří obecných sítí. Komponent a dvě lanka, na kterých je komponent zavěšen. Často se také setkávám s 3d tělesem. Co myslíte? Děkuji mnohokrát,Petra Junová
Vladimír Michl
08.09.2014, 10:17
Aha, tak to je trochu něco jiného než jsem si představoval. Ale pravděpodobně to bude řešitelné jednodušeji. Pokud jsem to správně pochopil, "komponent" je tedy jeden nebo více objektů, na konkrétním obsahu/geometrii nezáleží, jen je potřeba identifikovat hladinu, popř. souřadnici (Y) a číslo. Nejjednodušší a ještě "obecná" cesta se zdá vytvořit z každého komponentu blok s jedním atributem umístěným v "referenčním" bodě (např. v onom nejvyšším bodě Y). Komponenty následně automaticky očíslovat příkazem BlockC z utility InsertC. A pak všechny takovéto bloky vykázat do Excelu funkcí EXTRDATA - tedy hladinu, hodnotu atributu a jeho souřadnici Y a X.
Ano, tato cesta se zdá jako dobré řešení. Samozřejmě mi to ušetří čas tím automatickým číslováním, ale tato konkrétní plastika má 350 komponentů, musela bych tedy z každého zvlášť ručně vytvořit blok a ručně zadat referenční bod, což zabere spoustu času. Snažím se tedy najít něco, co by proces trochu více zautomatizovalo. Tak jako funguje InsertC, který přepíše text automaticky např. zleva doprava, tak to by bylo ideální kdyby to fungovalo s těmi komponenty (ať už je to síť nebo 3d objekt). Tedy aby byly automaticky očíslovány. Děkuji,P.
Vladimír Michl
08.09.2014, 10:59
Chápu. Jen mně nenapadá jak rozumně propojit onu geometrii komponentu s popiskem, aby to pak šlo pohromadě vykázat tím EXTRDATA. Je každý komponent v samostatné hladině? Nebo jak se bez bloku pozná co je ještě jeden komponent a co druhý, s ním sousedící?
No celkově mám pouze tři hladiny do kterých jsou jednotlivé objekty vloženy, takže nemá každý jinou hladinu. Nenapadá mě nic jiného než nastavit nějakou utilitu tak, že výběr (v tomto případě sítí) bude postupovat např. zprava doleva a první objekt který bude na ose X bude číslo 01, druhý 02 a podobně. Nebo mě ještě napadá, že by pomohlo rozřazení, podle osy X, do individuálních očíslovaných hladin. Každý komponent by tak získal vlastní hladinu. Stávající hladiny, které by se tímto novým uspořádáním zrušily, by se ve finální tabulce rozlišily podle použitých barev. A očíslování v půdorysu je jednoduché pomocí InsertC utility. Nevím, jak dalece je něco takového možné, bohužel v programování jsem naprostý laik. Děkuju
Vladimír Michl
08.09.2014, 12:13
Možná tedy zkuste novou utilitu IncObj (viz Download) - ta očísluje jakékoliv vybrané objekty do jejich vlastnosti "hyperodkaz". Vlastnost hyperlink pak lze zahrnout do výkazu tvořeného příkazem EXTRDATA.
Tak jsem to zkoušela a mohlo by to jít. Akorát IncObj čísluje obráceně. Když zadám as select, tak očísluje reverse - select. A při ExtractData mi nejde z obecné sítě extrahovat geometrii, konkrétně vrchol X, Y, Z...pravděpodobně to pro tento typ objektu nejde, je to možné? Děkuji
Vladimír Michl
08.09.2014, 17:49
IncObj (ale i IncText a BlockC - používají stejnou logiku) bere vybrané objekty podle historie - při výběru oknem, nebo podle individuálního výběru ukázáním. AutoCAD ale řadí ručně ukázané objekty obráceně, proto je tam volba Reverse. Pokud nějaká vlastnost u ExtrData chybí, není pravděpodobně na úrovni onoho objektu k dispozici. Jde vám o "bounding-box" nebo o max/min hodnotu souřadnice? V tom případě by šla připravit už konkrétní utilita pro daný úkol. Když tak asi přes Helpdesk.cadstudio.cz.
Jde mi o maximální hodnotu. Mnohokrát děkuji za Váš čas, moc jste mi pomohl.