PDA

View Full Version : Extracting Geometric and Vector data from simple objects automatically



andrewrossglover
2004-08-11, 10:26 AM
Hi,

I am wanting to extract geometric information from 3D drawings i have made in CAD, ie the node of a box, and the vectors to other co-ordinates, for use in another programm i am using. I wish to do this automatically, for the entire file, not just specifying individual lines using ID and DIST.

Does anybody know of an existing program which would help me do this, or am i going to have to use VBA. Not sure of how to proceed with this so any feedback would be greatly appreciated.

Andy

RobertB
2004-08-11, 02:22 PM
3D solids are created/encoded using the ACIS engine, and as such the data is unavailable to VBA.

andrewrossglover
2004-08-12, 10:38 AM
any ideas on how best to progress interrogating the ACIS data in order to output drawings to other programs?

richard.binning
2004-08-12, 05:46 PM
any ideas on how best to progress interrogating the ACIS data in order to output drawings to other programs?
How about this...



Public Sub testexport()
Dim sset As AcadSelectionSet
Set sset = ThisDrawing.SelectionSets.Add("TEST2")
sset.SelectOnScreen
ThisDrawing.Export "c:\my drawings\test", "SAT", sset
End Sub

For WMF, SAT, and BMP formats, the selection set specifies the objects to be exported.

Note: AutoCAD ignores selected objects that are not solids or regions. AutoCAD exports the selected objects to an ASCII file. An AutoCAD solid, a body, or a region can be stored as an SAT (ASCII) file.
Note: When exchanging SAT files to earlier versions of AutoCAD, you need to set the ACISOUTVER system variable to the ACIS version used for that release. For example, to export SAT files to AutoCAD Release 14 set ACISOUTVER to 16.

Now your task is to decipher the output shown below:



700 103 1 0
16 Autodesk AutoCAD 17 ASM 6.0.4.7009 NT 24 Thu Aug 12 13:41:39 2004
25.399999999999999 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 reversed single #
loop $-1 -1 $-1 $-1 $12 $3 #
plane-surface $-1 -1 $-1 75.318308743063426 914.36516379009026 300 0 0 1 1 0 0 forward_v I I I I #
color-adesk-attrib $-1 -1 $-1 $-1 $5 256 #
face $13 -1 $-1 $14 $15 $2 $-1 $16 reversed single #
loop $-1 -1 $-1 $-1 $17 $5 #
plane-surface $-1 -1 $-1 75.318308743063426 914.36516379009026 0 0 0 1 1 0 0 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 reversed single #
loop $-1 -1 $-1 $-1 $26 $9 #
plane-surface $-1 -1 $-1 75.318308743063426 685.70074930339979 150 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 $32 $33 forward $6 $-1 #
coedge $-1 -1 $-1 $12 $31 $34 $35 forward $6 $-1 #
coedge $-1 -1 $-1 $36 $37 $12 $21 reversed $38 $-1 #
edge $39 -1 $-1 $40 -228.66441448669048 $41 228.66441448669048 $20 $42 forward @7 unknown #
color-adesk-attrib $-1 -1 $-1 $-1 $14 256 #
face $43 -1 $-1 $44 $45 $2 $-1 $46 reversed single #
loop $-1 -1 $-1 $-1 $47 $14 #
plane-surface $-1 -1 $-1 -320.74007503087341 914.36516379009026 150 1 0 0 0 0 -1 forward_v I I I I #
coedge $-1 -1 $-1 $48 $34 $49 $50 forward $15 $-1 #
coedge $-1 -1 $-1 $51 $17 $48 $52 forward $10 $-1 #
coedge $-1 -1 $-1 $17 $51 $53 $54 forward $10 $-1 #
coedge $-1 -1 $-1 $37 $36 $17 $30 reversed $38 $-1 #
edge $55 -1 $-1 $56 -228.66441448669048 $57 228.66441448669048 $29 $58 forward @7 unknown #
coedge $-1 -1 $-1 $19 $18 $59 $60 forward $6 $-1 #
coedge $-1 -1 $-1 $61 $62 $18 $33 reversed $45 $-1 #
edge $63 -1 $-1 $41 -396.05838377393684 $64 396.05838377393684 $32 $65 forward @7 unknown #
coedge $-1 -1 $-1 $26 $66 $19 $35 reversed $15 $-1 #
edge $67 -1 $-1 $68 -396.05838377393684 $40 396.05838377393684 $34 $69 forward @7 unknown #
coedge $-1 -1 $-1 $29 $20 $66 $70 forward $38 $-1 #
coedge $-1 -1 $-1 $20 $29 $61 $71 reversed $38 $-1 #
loop $-1 -1 $-1 $-1 $36 $44 #
color-adesk-attrib $-1 -1 $-1 $-1 $21 256 #
vertex $-1 -1 $-1 $21 $72 #
vertex $-1 -1 $-1 $21 $73 #
straight-curve $-1 -1 $-1 471.37669251700027 914.36516379009026 300 0 1 0 I I #
color-adesk-attrib $-1 -1 $-1 $-1 $23 256 #
face $74 -1 $-1 $-1 $38 $2 $-1 $75 reversed single #
loop $-1 -1 $-1 $-1 $61 $23 #
plane-surface $-1 -1 $-1 75.318308743063426 1143.0295782767807 150 0 -1 0 0 0 -1 forward_v I I I I #
coedge $-1 -1 $-1 $76 $59 $62 $77 forward $24 $-1 #
coedge $-1 -1 $-1 $66 $26 $27 $52 reversed $15 $-1 #
coedge $-1 -1 $-1 $59 $76 $26 $50 reversed $24 $-1 #
edge $78 -1 $-1 $68 -150 $79 150 $49 $80 forward @7 unknown #
coedge $-1 -1 $-1 $28 $27 $76 $81 forward $10 $-1 #
edge $82 -1 $-1 $57 -396.05838377393684 $79 396.05838377393684 $48 $83 forward @7 unknown #
coedge $-1 -1 $-1 $62 $61 $28 $54 reversed $45 $-1 #
edge $84 -1 $-1 $85 -396.05838377393684 $56 396.05838377393684 $53 $86 forward @7 unknown #
color-adesk-attrib $-1 -1 $-1 $-1 $30 256 #
vertex $-1 -1 $-1 $30 $87 #
vertex $-1 -1 $-1 $70 $88 #
straight-curve $-1 -1 $-1 471.37669251700027 914.36516379009026 0 0 -1 0 I I #
coedge $-1 -1 $-1 $47 $49 $31 $60 reversed $24 $-1 #
edge $89 -1 $-1 $64 -228.66441448669048 $68 228.66441448669048 $59 $90 forward @7 unknown #
coedge $-1 -1 $-1 $53 $32 $37 $71 forward $45 $-1 #
coedge $-1 -1 $-1 $32 $53 $47 $77 reversed $45 $-1 #
color-adesk-attrib $-1 -1 $-1 $-1 $33 256 #
vertex $-1 -1 $-1 $33 $91 #
straight-curve $-1 -1 $-1 75.318308743063426 1143.0295782767807 300 -1 0 0 I I #
coedge $-1 -1 $-1 $34 $48 $36 $70 reversed $15 $-1 #
color-adesk-attrib $-1 -1 $-1 $-1 $35 256 #
vertex $-1 -1 $-1 $60 $92 #
straight-curve $-1 -1 $-1 75.318308743063426 685.70074930339979 300 1 0 0 I I #
edge $93 -1 $-1 $40 -150 $57 150 $36 $94 forward @7 unknown #
edge $95 -1 $-1 $41 -150 $56 150 $37 $96 forward @7 unknown #
point $-1 -1 $-1 471.37669251700027 685.70074930339979 300 #
point $-1 -1 $-1 471.37669251700027 1143.0295782767807 300 #
color-adesk-attrib $-1 -1 $-1 $-1 $44 256 #
plane-surface $-1 -1 $-1 471.37669251700027 914.36516379009026 150 -1 0 0 0 0 1 forward_v I I I I #
coedge $-1 -1 $-1 $49 $47 $51 $81 reversed $24 $-1 #
edge $97 -1 $-1 $64 -150 $85 150 $62 $98 forward @7 unknown #
color-adesk-attrib $-1 -1 $-1 $-1 $50 256 #
vertex $-1 -1 $-1 $81 $99 #
straight-curve $-1 -1 $-1 -320.74007503087341 685.70074930339979 150 0 0 -1 I I #
edge $100 -1 $-1 $79 -228.66441448669048 $85 228.66441448669048 $76 $101 forward @7 unknown #
color-adesk-attrib $-1 -1 $-1 $-1 $52 256 #
straight-curve $-1 -1 $-1 75.318308743063426 685.70074930339979 0 -1 0 0 I I #
color-adesk-attrib $-1 -1 $-1 $-1 $54 256 #
vertex $-1 -1 $-1 $54 $102 #
straight-curve $-1 -1 $-1 75.318308743063426 1143.0295782767807 0 1 0 0 I I #
point $-1 -1 $-1 471.37669251700027 1143.0295782767807 0 #
point $-1 -1 $-1 471.37669251700027 685.70074930339979 0 #
color-adesk-attrib $-1 -1 $-1 $-1 $60 256 #
straight-curve $-1 -1 $-1 -320.74007503087341 914.36516379009026 300 0 -1 0 I I #
point $-1 -1 $-1 -320.74007503087341 1143.0295782767807 300 #
point $-1 -1 $-1 -320.74007503087341 685.70074930339979 300 #
color-adesk-attrib $-1 -1 $-1 $-1 $70 256 #
straight-curve $-1 -1 $-1 471.37669251700027 685.70074930339979 150 0 0 -1 I I #
color-adesk-attrib $-1 -1 $-1 $-1 $71 256 #
straight-curve $-1 -1 $-1 471.37669251700027 1143.0295782767807 150 0 0 -1 I I #
color-adesk-attrib $-1 -1 $-1 $-1 $77 256 #
straight-curve $-1 -1 $-1 -320.74007503087341 1143.0295782767807 150 0 0 -1 I I #
point $-1 -1 $-1 -320.74007503087341 685.70074930339979 0 #
color-adesk-attrib $-1 -1 $-1 $-1 $81 256 #
straight-curve $-1 -1 $-1 -320.74007503087341 914.36516379009026 0 0 1 0 I I #
point $-1 -1 $-1 -320.74007503087341 1143.0295782767807 0 #