FastFiber

Dynamic blocks tellen in DWG

Gestart door tatzel, wo 29 08 2007, 10:49:18

Vorige topic - Volgende topic

tatzel

Is er een manier om eenvoudig dynamic blocks te tellen on screen inclusief de ingevoerde attributen?
ik heb bijvoorbeeld 10 blocks 'paneel' in een DWG. 5 hiervan hebben en lengte van 1200, 3 een lengte van 1000 en 2 een lengte van 500.
Ik wil een staatje hebben waarin staat hoeveel blocks 'paneel' ik heb gebruikt en hoe vaak ik lengte 1200, 1000 of 500 heb gebruikt.
zijn daar in autocad 2007 LT standaard oplossingen voor? of moet ik dan een extern programmatje gebruiken?

HofCAD

Beste Tatzel,

Heb je het commando ATTEXT al gebruikt?
Werkt in AutoCAD LT het commando EATTEXT (in AutoCAD 2008 DATAEXTRACTION)?

Met vriendelijke groet,
HofCAD CSI
ACADcadabra

tatzel

ja heb ik geprobeerd, maar daar krijg ik geen leesbare resultaten uit. weet ook niet goed wat ik met dat commando aanmoet.

HofCAD

#3
Citaat van: tatzel op wo 29 08 2007, 11:03:39
ja heb ik geprobeerd, maar daar krijg ik geen leesbare resultaten uit. weet ook niet goed wat ik met dat commando aanmoet.

Beste Tatzel,

Om met het commando ATTEXT te kunnen werken, moet je eerst met
het programma Notepad een template file (*.txt) aanmaken.
Bijvoorbeeld met:

C:QUOTE '
C:DELIM ,
BL:LEVEL N008000
BL:NAME C020000
BL:X N008004
BL:Y N008004
BL:Z N008004
BL:NUMBER N008000
BL:HANDLE C020000
BL:LAYER C020000
BL:ORIENT N008004
BL:XSCALE N008004
BL:YSCALE N008004
BL:ZSCALE N008004
BL:XEXTRUDE N008004
BL:YEXTRUDE N008004
BL:ZEXTRUDE N008004
lengte    N008004

of bijv.
BL:NAME C020000
BL:NUMBER N008000
lengte    N008004

Waarbij lengte de tag is van je attribuutdefinitie.
(zie in de AutoCAD help de definities bij
''attribute extraction template files, attribute tag fields in")

Daarna kun je ATTEXT of -ATTEXT gebruiken.

Bijv.
-ATTEXT
Enter extraction type or enable object selection [Cdf/Sdf/Dxf/Objects] <C>:C
Daarna een dialoogbox voor het selecteren van de template file
Daarna een dialoogbox voor het kiezen van de output file.

De output file kan men o.a. met de 'Wizard Tekst' netjes in Excel krijgen.
( Als men de Wizard in Excel bij het openen niet gebruikt, kan men ook ( nadat
het bestand geopend is) de wizard starten met Data->Tekst naar kolommen...)

Met vriendelijke groet,
HofCAD CSI


PS
Zie http://www.cadsite.be/smf/index.php/topic,116.0.html
BL:NAME Cwww000 (Block name)
BL:LEVEL Nwww000 (Block nesting level)
BL:X Nwwwddd(X coordinate of block insertion point)
BL:Y Nwwwddd(Y coordinate of block insertion point)
BL:Z Nwwwddd(Z coordinate of block insertion point)
BL:NUMBER Nwww000 (Block counter; the same for MINSERT)
BL:HANDLE Cwww000 (Block handle; the same for MINSERT)
BL:LAYER Cwww000 (Block insertion layer name)
BL:ORIENT Nwwwddd(Block rotation angle)
BL:XSCALE Nwwwddd(X scale factor)
BL:YSCALE Nwwwddd(Y scale factor)
BL:ZSCALE Nwwwddd(Z scale factor)
BL:XEXTRUDE Nwwwddd(X component of block extrusion direction)
BL:YEXTRUDE Nwwwddd(Y component of block extrusion direction)
BL:ZEXTRUDE Nwwwddd(Z component of block extrusion direction)
numeric Nwwwddd (Numeric attribute tag)
character Cwww000 (Character attribute tag)
ACADcadabra

tatzel

ik ben ermee aan het vogelen, heb nu het volgende als template (ter expiriment en om te kijken of ik begrijp wat er gebeurd):

BL:NAME C008000
Paneeldikte N003000

geen spaties of extra regels in de file.
ik krijg nu echter een lege file. hoe komt dat?

tatzel

ik vermoed dat de dynamische properties van een dynamic block niet als attribute gelden.
ik heb een dynamic block waarbij ik zowel de breedte als de lengte als invoerveld heb en waarop het block dus dynamisch wordt aangepast. die kunnen in de tekening in variabele lengtes in 100-tallen voorkomen.
ik kan natuurlijk een apart attribute aanmaken in het block waarbij ik alsnog ook deze waardes invul, maar dat is dubbel werk. is er een manier om deze dynamische waarden ook meteen 'dynamische attributes' mee te geven?

HofCAD

#6
Beste Tatzel,

Probeer het eens met mijn tekening en met mijn template file.

Met vriendelijke groet,
HofCAD CS I

PS
-ATTEXT Enter extraction type or enable object selection [Cdf/Sdf/Dxf/Objects] <C>: o
Select objects: Specify opposite corner: 6 found
Select objects:
Enter attribute extraction type [Cdf/Sdf/Dxf] <C>:C
Daarna een dialoogbox voor het selecteren van de template file (kies TMPL.txt)
Daarna een dialoogbox voor het kiezen van de output file (kies bijv. c:\TESTDWG.txt)
ACADcadabra

tatzel

dank je. Dit werkt inderdaad. ik snap nu ook hoe ik dit zelf voor elkaar moet krijgen via attributes.

echter:

ik wil voor mijn dynamic blocks geen extra attributes toevoegen. Daar ik de paneel-dikte al dynamisch bepaal in het pull-down menu van mijn block wil ik daarnaast niet ook nog de paneeldikte moeten invoeren als attribute. dat is dubbel werk, en bovendien een grotere kans op evt fouten (wel block aanpassen, maar vergeten om attribute aan te passen, bijvoorbeeld)

enig idee hoe ik deze attributes dynamisch aan het block kan koppelen?

HofCAD

#8
Citaat van: tatzel op wo 29 08 2007, 13:02:18
dank je. Dit werkt inderdaad. ik snap nu ook hoe ik dit zelf voor elkaar moet krijgen via attributes.

echter:

ik wil voor mijn dynamic blocks geen extra attributes toevoegen. Daar ik de paneel-dikte al dynamisch bepaal in het pull-down menu van mijn block wil ik daarnaast niet ook nog de paneeldikte moeten invoeren als attribute. dat is dubbel werk, en bovendien een grotere kans op evt fouten (wel block aanpassen, maar vergeten om attribute aan te passen, bijvoorbeeld)

enig idee hoe ik deze attributes dynamisch aan het block kan koppelen?

Beste Tatzel,

Kun je de waarden niet als een field(veld) in een attribuut plaatsen.

Met vriendelijke groet,
HofCAD CSI

PS Kijk eens naar http://www.cadsite.be/smf/index.php/topic,1978.0.html
en de bijgevoegde tekening s6-kast.dwg
Als je kast invoegd dan kun je met de lookupparameter een andere kast kiezen,
en de H-waarde verandert dan.
ACADcadabra

tatzel

bijgevoegd een tekening met mijn blocks. zoals je ziet zijn mijn blocks nu snel aan te passen naar mijn behoeftes. de invulvelden passen meteen het block aan naar de juiste maat. die specifieke maten wil ik in een lijstje.

HofCAD

Beste Tatzel,

Volgens mij heeft iemand op cadsite.be of op autocadexchange.com
ooit een voorbeeld gegeven, om in een dynamisch blok van  een rechthoek
met slechts een field de afmetingen dynamisch weer te geven.
Jammer genoeg kan ik dat voorbeeld niet terug vinden.
Daarom heb ik het zelf iets snels geprobeerd.

Met vriendelijke groet,
HofCAD CSI
ACADcadabra

tatzel

dank je Hofcad, maar dit is niet wat precies de bedoeling is. Het attribuut kan ik ook in mijn eigen block aanbrengen, maar het probleem schuilt juist in het feit dat de waarde van dit attribuut niet wijzigt als ik de dynamische waarde van het block wijzig.

Reimer

Hofcad heeft het toch wel goed gedaan. Je moet alleen even regeneren voordat de waarde ook zichtbaar wordt in het attribuut. Je moet dit attribuut trouwens ook niet handmatig invullen of wijzigen.

Reimer.


tatzel

ik zie het nu ja... daar moet ik even mee spelen om te kijken of ik dat in mijn blocks ook zo kan krijgen...

tatzel

#14
waarom moet ik het block eerst exploden?
ik probeer te begrijpen wat er gebeurd, maar ik snap er geen bal van..:)

FastFiber