Register  Login   Search
 Latest Posts Minimize

RE: Remove unused Linestyles
Solid Edge Programming
09/03/2010 7:45 AM
jr199

Remove unused Linestyles
Solid Edge Programming
09/02/2010 1:25 PM
kmwolf

How to read block in a dft file without opening the dft file?
Solid Edge Programming
09/02/2010 9:02 AM
assassin.007

Inquire Element - Measure Diameter by VBA
Solid Edge Programming
09/02/2010 6:40 AM
JM

dissolve Reference to SubASM - how to??
Solid Edge Programming
09/02/2010 2:23 AM
LIHE

RE: Using Insight on a 64 bit Computer
Solid Edge General
08/31/2010 7:47 AM
Atom

Using Insight on a 64 bit Computer
Solid Edge General
08/30/2010 3:06 PM
Atom

RE: File Properties using VB.NET leave file locked
Solid Edge Programming
08/30/2010 9:57 AM
JBZ

RE: File Properties using VB.NET leave file locked
Solid Edge Programming
08/30/2010 3:20 AM
jr199

File Properties using VB.NET leave file locked
Solid Edge Programming
08/27/2010 4:36 PM
JBZ

RE: XLS link to the part
Solid Edge Programming
08/27/2010 4:11 PM
JBZ

RE: Save As for each view -- how 2 wait for SE !
Solid Edge Programming
08/27/2010 3:27 AM
jr199

vb6 se20 - solid edge Part - Hole size
Solid Edge Programming
08/26/2010 9:42 PM
cadraw

vb6 se20 - how to Drawing View Depth
Solid Edge Programming
08/26/2010 9:24 PM
cadraw

RE: Problem while getting the objects using "SelectSet" property.
Solid Edge Programming
08/26/2010 7:35 AM
jr199

RE: About the "Callout"!
Solid Edge Programming
08/26/2010 3:42 AM
fatkids

RE: Save As for each view -- how 2 wait for SE !
Solid Edge Programming
08/25/2010 3:28 AM
ErWo

RE: help to transfer C# codes as following to C++ codes?
Solid Edge Programming
08/24/2010 10:12 PM
assassin.007

RE: FamilyMembers Panel problem (refreshing)
Solid Edge Programming
08/24/2010 3:47 PM
peter6396

Save As for each view -- how 2 wait for SE !
Solid Edge Programming
08/24/2010 4:09 AM
LIHE

RE: FamilyMembers Panel problem (refreshing)
Solid Edge Programming
08/24/2010 1:28 AM
ErWo

help to transfer C# codes as following to C++ codes?
Solid Edge Programming
08/23/2010 10:34 PM
assassin.007

Problem while getting the objects using "SelectSet" property.
Solid Edge Programming
08/22/2010 7:59 AM
pratap

FamilyMembers Panel problem (refreshing)
Solid Edge Programming
08/20/2010 4:12 AM
peter6396

RE: AddLoftedFlange in SheetMetal
Solid Edge Programming
08/19/2010 4:33 AM
jason.newell

RE: PartList Positioning
Solid Edge Programming
08/19/2010 2:10 AM
ErWo

RE: Alternate Assemblies
Solid Edge Programming
08/18/2010 4:54 PM
peter6396

RE: About the "Callout"!
Solid Edge Programming
08/18/2010 7:39 AM
Danisan

XLS link to the part
Solid Edge Programming
08/18/2010 5:23 AM
romanes

About the "Callout"!
Solid Edge Programming
08/17/2010 2:49 AM
fatkids


  
 Forums Minimize

Subject: How to create Assembly Patterns?
Prev Next
You are not authorized to post a reply.

Author Messages
SergeyUser is Offline
New Member
New Member
Posts:19

01/13/2010 4:57 AM  

From the API reference it is not clear how to use function AssemblyPatterns.Create( PatternName, MasterOccurrences, FeaturePattern, ReferenceFeature) and what arguments to pass.
I used the following sample in VB to create a new AssemblyPattern but it always failed.

Dim objOccArray(1 To 1) As Object
Set objOccArray(1) = objAssmDoc.Occurrences(2)
Dim Occ As SolidEdgeAssembly.Occurrence
Occ = objAssmDoc.Occurrences(1)
Dim objPart As SolidEdgePart.PartDocument
objPart = Occ.OccurrenceDocument       
objPattern = objPart.Models(1).Patterns.Item(1)
HoleObj = objPart.Models(1).Holes(1)

objAsmPattern = objAssmDoc.AssemblyPatterns.Create("MyPattern", objOccArray, objPattern, HoleObj) 

I also tried to get parameters from already existing AssemblyPattern and used them to create another AssemblyPattern. To get parameters I used function AssemblyPatterns.GetInputs( ... ). Then I deleted the old AssemblyPattern and tried to create a new one using the retrieved parameters. But AssemblyPatterns.Create(...)  failed again.

Thanks

JRUser is Offline
Site Member
Site Member
Posts:78

01/18/2010 5:47 AM  

Hi Sergey,

your way is good, but your objects are from Part and not from Assembly. You must create references extra for the Assembly:

Dim objRefPattern as Object
objRefPattern = objAssmDoc.CreateReference(Occ, objPattern)
Dim objRefHole as Object
objRefHole = objAssmDoc.CreateReference(Occ, HoleObj)
'and
objAsmPattern = objAssmDoc.AssemblyPatterns.Create("MyPattern", objOccArray, objRefPattern, objRefHole)

Regards
JR

SergeyUser is Offline
New Member
New Member
Posts:19

01/19/2010 7:29 AM  
You are absolutely right!
It's supposed from the definition of the method that the arguments must be reference-objects
The only problem that creating reference of feature has always failed (At least I couldn't do that)

Thanks
JRUser is Offline
Site Member
Site Member
Posts:78

01/20/2010 12:16 AM  
By me is all OK. Can you copy the coding hier?
SergeyUser is Offline
New Member
New Member
Posts:19

01/20/2010 3:57 AM  
Here is my test code

Dim Occ1 As SolidEdgeAssembly.Occurrence
Occ1 = objAsmDoc.Occurrences.Item(1)

Dim PartDoc As SolidEdgePart.PartDocument
PartDoc = Occ1.OccurrenceDocument

Dim Hole As SolidEdgePart.Hole
Hole = PartDoc.Models.Item(1).Holes.Item(1)
Dim AsmHole As Object
AsmHole = objAsmDoc.CreateReference(Occ1, Hole) 'exception E_FAIL

Dim Pattern As SolidEdgePart.Pattern
Pattern = PartDoc.Models.Item(1).Patterns.Item(1)
Dim AsmPattern As Object
AsmPattern = objAsmDoc.CreateReference(Occ1, Pattern) 'exception E_FAIL


JRUser is Offline
Site Member
Site Member
Posts:78

01/20/2010 6:38 AM  
I don't have any problems with your code!
SergeyUser is Offline
New Member
New Member
Posts:19

01/20/2010 8:19 AM  
It's really strange...
Probably it depends on the version of Solid Edge( My version is 20.00.00.96 )



JRUser is Offline
Site Member
Site Member
Posts:78

01/21/2010 12:09 AM  

My version is 20.00.15.05. Try again after instalation of Service Pack 15.

SergeyUser is Offline
New Member
New Member
Posts:19

01/23/2010 4:02 AM  

After installing SP15 Solid Edge all the time throws exception when I call the method

Dim Occs As SolidEdgeAssembly.Occurrences
Occs = objAsmDoc.Occurrences

I even don't know what to do... probably somehow initialize assembly or something else

You are not authorized to post a reply.
Forums > Solid Edge > Programming > How to create Assembly Patterns?



ActiveForums 3.7

  

 Users Online Minimize

Membership Membership:
Latest New User Latest: jbazaar
New Today New Today: 1
New Yesterday New Yesterday: 3
User Count Overall: 1968

People Online People Online:
Visitors Visitors: 2
Members Members: 0
Total Total: 2

Online Now Online Now:

  

The Code Project

Spatial Freedom Astroid

Use OpenDNS

Copyright 2010 JasonNewell.NET   Terms Of Use  Privacy Statement