| |  | CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48 | | |  | erp4cad: Das ERP für komplexe CAD-Projekte!, eine Pressemitteilung
|
Autor
|
Thema: Topologische Operation - Interner Fehler (5478 mal gelesen)
|
CabinMaster Mitglied Diplomingenieur L&R

 Beiträge: 19 Registriert: 31.07.2009 Windows XP Catia V5 R18 Makro mit CATVBS
|
erstellt am: 25. Aug. 2009 13:26 <-- editieren / zitieren --> Unities abgeben:         
Hallo, es gibt bereits ein Thema zu dieser Sache, jedoch war die ganze Sache dort wenig aufschlussreich. Ich erzeuge per CatVBS eine Geometrie und daraus einen Körper. Bei einem weiteren Körper kommt es zu einem Fehler. Das erstaunlich: Wie man im Screenshot sehen kann handelt es sich um Frame52, und seine 51 Kameraden vor ihm sind anstandslos durchgegangen. [Zur Vorgehensweise kurz der betreffende Code: ]
Code: nPointsFB = DataFile.ReadLine ' number of points floor beam (usually 5) ' add a new hybrid body Set Wzk3D = CS.Part.HybridShapeFactory Set Victim = CS.Part.HybridBodies.Add ' change name of body Victim.Name = "Floor Beam" For k = 1 To nPointsFB yFB(k) = 1000 * DataFile.ReadLine ' floor beam y coordinate zFB(k) = 1000 * DataFile.ReadLine ' floor beam z coordinate Set PointArrayFB(k) = Wzk3D.AddNewPointCoord(0,yFB(k),zFB(k)) Next ' create the lines (closed profile assumed For k=2 To nPointsFB Set line = CS.Part.HybridShapeFactory.AddNewLinePtPt(PointArrayFB(k-1),PointArrayFB(k)) line.Name = "FBline." & k-1 Victim.AppendHybridShape line If Not SeeLess Then ' update if activated CS.Part.Update CATIA.ActiveWindow.ActiveViewer.Reframe End If Next ' create a selection containing all lines ' create first connection Set HyBody = CS.Part.HybridBodies.Item("Floor Beam") Set HyShape = HyBody.HybridShapes Set ref1 = CS.Part.CreateReferenceFromObject(HyShape.Item("FBline.1")) Set ref2 = CS.Part.CreateReferenceFromObject(HyShape.Item("FBline.2")) Set HyShapeAss = CS.Part.HybridShapeFactory.AddNewJoin(ref1, ref2) ' add all lines to the HyShapeAss object For k=1 To (nPointsFB-3) index = k + 2 line = "FBline." & index Set ref = CS.Part.CreateReferenceFromObject(HyShape.Item(line)) HyShapeAss.AddElement ref Next ' choose main body for object creation Set Body = CS.Part.Bodies.Item("Hauptkörper") Body.InsertHybridShape HyShapeAss CS.Part.InWorkObject = HyShapeAss If Not SeeLess Then CS.Part.Update End If ' create floor beam Set ref = CS.Part.CreateReferenceFromName("") Set FloorBeam = CS.Part.ShapeFactory.AddNewPadFromRef(ref, w) FloorBeam.SetProfileElement CS.Part.CreateReferenceFromObject(HyShapeAss) FloorBeam.Name = "FloorBeam" CS.Part.UpdateObject FloorBeam
Nun, ich bin (noch) kein wirklicher Experte, aber bei CATIA und CatVBS überrascht mich inzwischen nicht mehr soviel. Da die Operation auch nicht manuell durchgeführt werden kann hab ich es in den allgemeinen Bereich gestellt. Vielleicht hat jemand einen Tipp wo man graben könnte.
Grüße
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 25. Aug. 2009 13:30 <-- editieren / zitieren --> Unities abgeben:          Nur für CabinMaster
|
CabinMaster Mitglied Diplomingenieur L&R

 Beiträge: 19 Registriert: 31.07.2009 Windows XP Catia V5 R18 Makro mit CATVBS
|
erstellt am: 25. Aug. 2009 13:38 <-- editieren / zitieren --> Unities abgeben:         
Moin! Danke für die fixe Antwort. Ja, sie sollten, denn es sind die gleichen Punkte. Nun, ich hab das Problem lösen können. Und zwar folgender Maßen: ich habe die eingelesenen Werte mit 4 statt 3 Nachkommastellen erzeugt, das hat Katja offenbar besänftigt. Also, Männer, die ihr Ärger mit dieser Sache habt: es scheint als läge hier ein (internes) numerisches Problem vor.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |