Jump to content

How to understand ASCI files?


Hmm..

Recommended Posts

Hello..

Does anyone knows what each line of ASCI file means? Is it possible to create solid by making this file?

 

700 103 1 0         
16 Autodesk AutoCAD 17 ASM 12.0.1.915 NT 24 Sat Oct 11 10:50:20 2008 
1 9.9999999999999995e-007 1e-010 
body $-1 -1 $-1 $1 $-1 $-1 #
lump $-1 -1 $-1 $-1 $2 $0 #
shell $-1 -1 $-1 $-1 $-1 $3 $-1 $1 #
face $4 -1 $-1 $5 $6 $2 $-1 $7 forward single #
color-adesk-attrib $-1 -1 $-1 $-1 $3 256 #
face $8 -1 $-1 $9 $10 $2 $-1 $11 forward single #
loop $-1 -1 $-1 $-1 $12 $3 #
plane-surface $-1 -1 $-1 26804.982799097921 1440.4070880403935 0 0 1 0 0 0 1 forward_v I I I I #
color-adesk-attrib $-1 -1 $-1 $-1 $5 256 #
face $13 -1 $-1 $14 $15 $2 $-1 $16 forward single #
loop $-1 -1 $-1 $-1 $17 $5 #
plane-surface $-1 -1 $-1 37915.982799097925 1440.4070880403935 0 1 0 -0 -0 0 -1 forward_v I I I I #
coedge $-1 -1 $-1 $18 $19 $20 $21 forward $6 $-1 #
color-adesk-attrib $-1 -1 $-1 $-1 $9 256 #
face $22 -1 $-1 $23 $24 $2 $-1 $25 forward single #
loop $-1 -1 $-1 $-1 $26 $9 #
plane-surface $-1 -1 $-1 37915.982799097925 -20781.592911959604 0 0 -1 0 0 0 -1 forward_v I I I I #
coedge $-1 -1 $-1 $27 $28 $29 $30 forward $10 $-1 #
coedge $-1 -1 $-1 $31 $12 $28 $32 reversed $6 $-1 #
coedge $-1 -1 $-1 $12 $31 $33 $34 forward $6 $-1 #
coedge $-1 -1 $-1 $35 $29 $12 $21 reversed $36 $-1 #
edge $37 -1 $-1 $38 0 $39 11111.000000000004 $12 $40 forward @7 unknown #
color-adesk-attrib $-1 -1 $-1 $-1 $14 256 #
face $41 -1 $-1 $42 $36 $2 $-1 $43 forward single #
loop $-1 -1 $-1 $-1 $44 $14 #
plane-surface $-1 -1 $-1 26804.982799097921 -20781.592911959604 0 -1 0 0 0 -0 1 forward_v I I I I #
coedge $-1 -1 $-1 $45 $46 $47 $48 forward $15 $-1 #
coedge $-1 -1 $-1 $49 $17 $46 $50 reversed $10 $-1 #
coedge $-1 -1 $-1 $17 $49 $18 $32 forward $10 $-1 #
coedge $-1 -1 $-1 $20 $47 $17 $30 reversed $36 $-1 #
edge $51 -1 $-1 $39 0 $52 22221.999999999996 $17 $53 forward @7 unknown #
coedge $-1 -1 $-1 $19 $18 $54 $55 reversed $6 $-1 #
edge $56 -1 $-1 $57 0 $39 55555 $28 $58 forward @7 unknown #
coedge $-1 -1 $-1 $59 $44 $19 $34 reversed $24 $-1 #
edge $60 -1 $-1 $61 0 $38 55555 $19 $62 forward @7 unknown #
coedge $-1 -1 $-1 $47 $20 $44 $63 reversed $36 $-1 #
loop $-1 -1 $-1 $-1 $20 $23 #
color-adesk-attrib $-1 -1 $-1 $-1 $21 256 #
vertex $-1 -1 $-1 $34 $64 #
vertex $-1 -1 $-1 $32 $65 #
straight-curve $-1 -1 $-1 26804.982799097921 1440.4070880403935 55555 1 0 0 I I #
color-adesk-attrib $-1 -1 $-1 $-1 $23 256 #
face $66 -1 $-1 $-1 $67 $2 $-1 $68 reversed single #
plane-surface $-1 -1 $-1 32360.482799097917 -9670.5929119596021 55555 0 0 1 1 0 0 forward_v I I I I #
coedge $-1 -1 $-1 $33 $69 $35 $63 forward $24 $-1 #
coedge $-1 -1 $-1 $70 $26 $69 $71 reversed $15 $-1 #
coedge $-1 -1 $-1 $26 $70 $27 $50 forward $15 $-1 #
coedge $-1 -1 $-1 $29 $35 $26 $48 reversed $36 $-1 #
edge $72 -1 $-1 $52 -11111.000000000004 $73 -0 $26 $74 forward @7 unknown #
coedge $-1 -1 $-1 $28 $27 $75 $76 reversed $10 $-1 #
edge $77 -1 $-1 $78 0 $52 55555 $46 $79 forward @7 unknown #
color-adesk-attrib $-1 -1 $-1 $-1 $30 256 #
vertex $-1 -1 $-1 $50 $80 #
straight-curve $-1 -1 $-1 37915.982799097925 1440.4070880403935 55555 0 -1 0 I I #
coedge $-1 -1 $-1 $75 $81 $31 $55 forward $67 $-1 #
edge $82 -1 $-1 $61 0 $57 11111.000000000004 $31 $83 forward @7 unknown #
color-adesk-attrib $-1 -1 $-1 $-1 $32 256 #
vertex $-1 -1 $-1 $76 $84 #
straight-curve $-1 -1 $-1 37915.982799097925 1440.4070880403935 0 0 0 1 I I #
coedge $-1 -1 $-1 $69 $33 $81 $85 forward $24 $-1 #
color-adesk-attrib $-1 -1 $-1 $-1 $34 256 #
vertex $-1 -1 $-1 $85 $86 #
straight-curve $-1 -1 $-1 26804.982799097921 1440.4070880403935 0 0 0 1 I I #
edge $87 -1 $-1 $73 -22221.999999999996 $38 0 $44 $88 forward @7 unknown #
point $-1 -1 $-1 26804.982799097921 1440.4070880403935 55555 #
point $-1 -1 $-1 37915.982799097925 1440.4070880403935 55555 #
color-adesk-attrib $-1 -1 $-1 $-1 $42 256 #
loop $-1 -1 $-1 $-1 $81 $42 #
plane-surface $-1 -1 $-1 32360.482799097917 -9670.5929119596021 0 0 0 1 1 0 0 forward_v I I I I #
coedge $-1 -1 $-1 $44 $59 $45 $71 forward $24 $-1 #
coedge $-1 -1 $-1 $46 $45 $89 $90 forward $15 $-1 #
edge $91 -1 $-1 $92 0 $73 55555 $69 $93 forward @7 unknown #
color-adesk-attrib $-1 -1 $-1 $-1 $48 256 #
vertex $-1 -1 $-1 $71 $94 #
straight-curve $-1 -1 $-1 26804.982799097921 -20781.592911959604 55555 -1 -0 -0 I I #
coedge $-1 -1 $-1 $89 $54 $49 $76 forward $67 $-1 #
edge $95 -1 $-1 $57 0 $78 22221.999999999996 $49 $96 forward @7 unknown #
color-adesk-attrib $-1 -1 $-1 $-1 $50 256 #
vertex $-1 -1 $-1 $90 $97 #
straight-curve $-1 -1 $-1 37915.982799097925 -20781.592911959604 0 0 0 1 I I #
point $-1 -1 $-1 37915.982799097925 -20781.592911959604 55555 #
coedge $-1 -1 $-1 $54 $89 $59 $85 reversed $67 $-1 #
color-adesk-attrib $-1 -1 $-1 $-1 $55 256 #
straight-curve $-1 -1 $-1 26804.982799097921 1440.4070880403935 0 1 0 0 I I #
point $-1 -1 $-1 37915.982799097925 1440.4070880403935 0 #
edge $98 -1 $-1 $61 0 $92 22221.999999999996 $59 $99 forward @7 unknown #
point $-1 -1 $-1 26804.982799097921 1440.4070880403935 0 #
color-adesk-attrib $-1 -1 $-1 $-1 $63 256 #
straight-curve $-1 -1 $-1 26804.982799097921 1440.4070880403935 55555 0 1 0 I I #
coedge $-1 -1 $-1 $81 $75 $70 $90 reversed $67 $-1 #
edge $100 -1 $-1 $92 0 $78 11111.000000000004 $70 $101 forward @7 unknown #
color-adesk-attrib $-1 -1 $-1 $-1 $71 256 #
vertex $-1 -1 $-1 $85 $102 #
straight-curve $-1 -1 $-1 26804.982799097921 -20781.592911959604 0 0 0 1 I I #
point $-1 -1 $-1 26804.982799097921 -20781.592911959604 55555 #
color-adesk-attrib $-1 -1 $-1 $-1 $76 256 #
straight-curve $-1 -1 $-1 37915.982799097925 1440.4070880403935 0 0 -1 0 I I #
point $-1 -1 $-1 37915.982799097925 -20781.592911959604 0 #
color-adesk-attrib $-1 -1 $-1 $-1 $85 256 #
straight-curve $-1 -1 $-1 26804.982799097921 1440.4070880403935 0 0 -1 0 I I #
color-adesk-attrib $-1 -1 $-1 $-1 $90 256 #
straight-curve $-1 -1 $-1 26804.982799097921 -20781.592911959604 0 1 0 0 I I #
point $-1 -1 $-1 26804.982799097921 -20781.592911959604 0 #

Link to comment
Share on other sites

It seems SAT format for the description of curvilinear surfaces of solids. At me where that is the manual, however I do not think that will help you. Because construct the solids can only program, for the human it is a set of hieroglyphs only, all the same that the compiled code.

Link to comment
Share on other sites

I think that here must be some syntax, like when defining hatches..

In my case I only have rectangular solids that have been made using sweep option, but they might have some rectangular cutouts.

Maybe you have some good idea.. What i have is a timber stud that has some constructional cutouts. I want to make an automatic schedule that contains the width of stud section, the height of stud section, the length of stud section, and then to calculate the volume. But the volume must be the one that has been calculated in case there was no cutouts, so the volume to order is greater over volume of the stud in real construction.

Link to comment
Share on other sites

This is a recurring theme over at http://www.theswamp.org/. And several of the associated threads had post related to the deciphering of the ACIS (.SAT) format. The deciphering does appear to be a parsing handful, however.

 

One of the most recent discussions on how to retrieve length, width, and depth data of non-WCS aligned 3Dsolids was via the newly exposed BoundaryRepresentation Namespace exposed to the .NET API. This appears to be the most comprehensive access to the 3dSolid structure (ObjectARX notwithstanding).

 

Sadly, I don’t think that namespace is available to 2007.

 

I’ve been following/participating in those Swamp discussions and have a pretty good feel for the current state of the affairs (again ObjectARX excluded). Can you post an example of one of these swept, cutout timbers to test how the example routines would handle the data?

Link to comment
Share on other sites

I think BOM automation for solids of that complexity is quite possible. That’s even assuming that many of the solids are not so well aligned to the WCS (If everything was aligned as such then the standard GetBoundingBox would be up to the task). The issues tend to mount with more complex solids and orientations (see sample).

 

I haven’t explored the SAT deciphering end all that much but this thread: http://www.theswamp.org/index.php?topic=16754.0

had some things to say.

 

I did look at this issue within the VBA scope. I’ll post that project later today for anyone interested.

Rafter.dwg

Link to comment
Share on other sites

OK.. I just made the timber sample.. Of course it can be rotated in every direction.. it can be placed as column, and placed like beam, so rotation is unlimited.

Link to comment
Share on other sites

This is a proof of concept VBA routine designed to assist BOM generation from AutoCAD 3DSolid structural steel drawings. With the structural steel focus, there was a need for section recognition – I’m not sure if that is of any importance to your project or not. It should, however, find the length, width, and depth of extruded solids regardless of orientation. Based on your swept solid example, it should work for those as well.

 

In it’s current state as “proof of concept”, the routine only process one solid at a time. Some Selection Set filtering and, perhaps, spreadsheet or database automation would have been the next step.

 

I’ve sort of switch focus away from VBA (given it’s dubious future with AutoCAD) but intend to continue this project from the .NET API. Given more spare time, that is.

SolidLength.zip

Link to comment
Share on other sites

There are a couple of things I should have mentioned in advance. The DVB project references the AutoCad/ObjectDBX Common 17.0 Type Library. That should work with 2007, but does warrant checking via Visual Basic Editor – Tools – References.

 

Another thing is that there are two Public Subs in the project. The pertinent one is called “SolidDims_Main”, and if everything is set properly, should give an output as in the attached screenshot.

 

The other Public Sub “SetRegData” is used to catalog profiles – Corner Extrusions, I-Beams, Crown Molding, whatever, to allow for profile recognition. I didn’t bother running SetRegData on the profile used to generate the rafter, and is why the line “Section not recognized” is shown.

SolDim.jpg

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...