Cancel
Showing results for 
Search instead for 
Did you mean: 

Cannot delete inappropriate curves

Creator
Creator

Hi guys, 

 

i should delete points and curves not belonging to the model, but i don't know how to do.

 

Please, could someone help me?

 

Thanks,

 

Flaminia

16 REPLIES

Re: Cannot delete inappropriate curves

Solution Partner Phenom Solution Partner Phenom
Solution Partner Phenom

Dear Flaminia,

Firts check, make sure that all entities are visible in the screen, click in icon RESET ALL VISIBILITY OPTIONS, this will cause that all FEMAP entities to be plotted in the screen.

RESET-VISIBILITY-options.png

Next you can issue command GEOMETRY > SOLID > CLEANUP > SELECT ALL and making sure to activate option ENABLE ADVANCED CLEANUP, this way all solids will be cleaned

solid-cleanup-advanced-geometry-cleanup-ON.png

Now you are in position to investigate to delete localy any geometry. For instance, you can try DELETE > GEOMETRY > CURVES > SELECT ALL command and you will get rid of all isolated curves. Repeat for POINTS.

Next you can use MESHING TOOLBOX and play with command FEATURE REMOVAL > CURVES >  COMBINE SURFACES, enjoy!!.

FEATURE-REMOVAL-CURVES-COMBINED-SURFACES.png

Best regards,
Blas.

Blas Molero Hidalgo, Ingeniero Industrial, Director
IBERISA • 48004 BILBAO (SPAIN)
WEB: http://www.iberisa.com
Blog Femap-NX Nastran: http://iberisa.wordpress.com/

Re: Cannot delete inappropriate curves

Creator
Creator

Sorry Blas, but i cannot activate this option "enable advanced cleanup" because the box following the all geometry selection is "solid cleanup" and not "solid validation and cleanup".. 

 

Re: Cannot delete inappropriate curves

Legend
Legend

Hello Flame,

 

try my API. If those Curves belong to a Solid, you can delete them and its Points with the following API:

 

Sub Main  'Delete Curve(s) from Solid by Peter Kaderasz

	Dim App As femap.model
	Set App = feFemap()
	Dim curveSort As femap.SortSet
	Set curveSort = App.feSort
	Dim curveSet As femap.Set
	Set curveSet = App.feSet
	Dim notSolidCurveSet As femap.Set
	Set notSolidCurveSet = App.feSet

	Dim curveID As Long
	Dim solidID As Long
	Dim feCurve As femap.Curve
	Set feCurve = App.feCurve

	Dim Msg As String
	Dim curves As Long
	Dim curves_NonDeleted As Long

	App.feAppMessage( FCM_COMMAND, "Delete Curve(s) from Solid(s)")

	rc = curveSort.Select( FT_CURVE, True, "Select Curve(s) to Delete from Solid(s)")
	If rc = FE_CANCEL Or curveSort.Count=0 Then
		App.feAppMessage( FCM_ERROR, "Solid Curves not selected - Cancelled")
		App.feViewRegenerate( 0 )
		Exit Sub
	End If

	curveID=curveSort.First
	While curveID>0
		rc=feCurve.Get(curveID)
		If feCurve.Solid(solidID)=FE_FAIL Then
			rc=notSolidCurveSet.Add(curveID)
		Else
			rc=curveSet.Add(curveID)
		End If
		curveID=curveSort.Next
	Wend

	If notSolidCurveSet.Count>0 Then
		rc=curveSort.RemoveSet(notSolidCurveSet.ID)
		App.feAppMessage(FCM_NORMAL, notSolidCurveSet.Count() & " Curve(s) Skipped...")
	End If

	If curveSort.Count=0 Then
		App.feAppMessage( FCM_ERROR, "Solid Curves not selected - Cancelled")
		App.feViewRegenerate( 0 )
		Exit Sub
	End If

	curves_NonDeleted=0
	rc=App.feViewShow(FT_CURVE, curveSet.ID)

	If App.feAppMessageBox( 2, "OK to Delete selected Curve(s) from Solid(s)?") = FE_OK Then

		If curveSort.Count > 0 Then

			curveID=curveSort.First
			While curveID>0
				curves=App.Info_Count(FT_CURVE)
				rc=App.feDelete(FT_CURVE,-curveID)
				If rc=FE_INVALID Or curves-App.Info_Count(FT_CURVE)=0Then
					curves_NonDeleted=curves_NonDeleted+1
				End If
				curveID=curveSort.Next
			Wend

			Msg = curveSort.Count-curves_NonDeleted & " Curve(s) deleted from Solid(s). " & curves_NonDeleted & _
				" NonDeletable Curve(s) Skipped"
			App.feAppMessage (FCM_NORMAL, Msg)

		End If
	End If

	App.feViewRegenerate( 0 )

End Sub

You didn't find the "Enable Advanced Cleanup", because you use an old version of Femap. But in this case you can use the Solid Cleanup command too (switch on all checkbox).

 

Best regard

 

Peter Kaderasz

Re: Cannot delete inappropriate curves

Creator
Creator

I've just tried but still cannot delete the points under the model..

Re: Cannot delete inappropriate curves

Siemens Phenom Siemens Phenom
Siemens Phenom

Send me the model and we will take a look at it -

 

sherman dot mark at siemens dot com

Re: Cannot delete inappropriate curves

Legend
Legend

Hello Flame,

 

you deleted 139 curves, but 80 curves are nondeletable. Thera are maybe edges of a solid.

 

You can see the surfaces of this solid with Window / Show Entities... command, Entity type is "Surface" and in Selection box using method "using Curve". Similarly you can see solid if you choose Entity type "Solid".

 

Can you attach geometry?

 

Best regard

 

Peter Kaderasz

Re: Cannot delete inappropriate curves

Creator
Creator

Here it is, thank you for your assistance..

Re: Cannot delete inappropriate curves

Siemens Phenom Siemens Phenom
Siemens Phenom

All the stuff you see away from the surfaces of the ship hull are Parasolid Wire Bodies.  Parasolid has solid bodies, which are a closed set of sheets, sheet bodies, which have free edges, wire bodies, which are curves, and vertex bodies which are points.  The IGES importer brings in curves as wire bodies.  After import, use Delete Geometry Solid (which is really Delete Parsolid Body, solid, sheet, wire, or vertex).  Pick the curves away from the ship, and you can delete the curves, and their points at the same time.

 

There's still some wire bodies up with the hull surfaces as well, I don't know if you need to keep these or not.  In the Model Info Tree, you can see the wire bodies, they've got a Solid Cylinder and with a curve to show that they're Parasolid wire bodies, you can select them all in the Model Info Tree and right-click to delete them.

 

Mark.

Re: Cannot delete inappropriate curves

Creator
Creator

Just done! Thanks you so much for your help