Mask reversed element mark does not work?
Hi there,
I'm a bit confused. I was successfully using masked elements in my scripts for quite a while but now something is wrong. I created a new database in Abaqus template (see below). And executed the following code:
*createmark elements 1 6*createmark elements 1 reverse*maskentitymark elements 1 0SURPRISE: No (!) elements are displayed !?!
Can somebody please try and verify that I don't have a problem with my installation - thanks!
Abaqus Input-File test.inp:
**** ABAQUS Input Deck Generated by HyperMesh Version : 8.0SR1** Generated using HyperMesh-Abaqus Template Version : 8.0sr1**** Template: ABAQUS/STANDARD 3D***NODE 1, 0.0 , 0.0 , 0.0 2, 20.0 , 0.0 , 0.0 3, 40.0 , 0.0 , 0.0 4, 60.0 , 0.0 , 0.0 5, 0.0 , 30.0 , 0.0 6, 0.0 , 20.0 , 0.0 7, 0.0 , 10.0 , 0.0 8, 60.0 , 30.0 , 0.0 9, 60.0 , 20.0 , 0.0 10, 60.0 , 10.0 , 0.0 11, 20.0 , 10.0 , 0.0 12, 20.0 , 20.0 , 0.0 13, 20.0 , 30.0 , 0.0 14, 40.0 , 20.0 , 0.0 15, 40.0 , 10.0 , 0.0 16, 40.0 , 30.0 , 0.0 *ELEMENT,TYPE=S4,ELSET=test 1, 1, 2, 11, 7 2, 7, 11, 12, 6 3, 6, 12, 13, 5 4, 9, 14, 15, 10 5, 10, 15, 3, 4 6, 14, 12, 11, 15 7, 15, 11, 2, 3 8, 8, 16, 14, 9 9, 16, 13, 12, 14*SHELL SECTION, ELSET=test, MATERIAL=tst_mat5.0 ,**HWCOLOR COMP 1 31*MATERIAL, NAME=tst_mat*DENSITY11.1 ,0.0 *ELASTIC, TYPE = ISOTROPIC7777.7 ,0.3 ,0.0 *****
Answers
-
try
hm_createmark elements 1 advanced reverse
0 -
try
hm_createmark elements 1 advanced reverse
already did that - no difference ...
tried mark 2 instead of mark 1; tried hm7 and hm8; tried short form (elems) instead of elements; tried all combinantions of hm_createmark and *createmark - NO difference ...
it's awkward: when using this code with bigger, older hm-databases everything works as it should!?!
so I think I have to find a workaround maybe something with hm_tabletomark and hm_tabledifference ...
any suggestions?
0 -
I think the issue is with '*maskentitymark elements 1 0'. if you put a 'hm_getmark elems 1', before the *maskentitymark command, it shows all the elements but number 6.
0 -
Hi Cesar,
the hm_getmark trick did not work. I want to display element 6 and only element 6 ...
I'm doing a workaround for the reversed mark now, which is slower but works every time:
proc isolateElems {eIDs} { eval *createmark elements 1 $eIDs hm_marktotable elements 1 Selection *clearmark elements 1 *createmark elements 1 all hm_marktotable elements 1 MaskEntities *clearmark elements 1 hm_tabledifference MaskEntities Selection hm_tabletomark MaskEntities 1 1 *maskentitymark elements 1 0 hm_tableclear Selection hm_tableclear MaskEntities}isolateElems 6
0 -
have you look into the '*marknotintersection' command
Obtains everything but the intersection between two marks and stores everything but the intersection in the first passed mark.
*createmark elements 1 1 2 3 4*createmark elements 2 4 5 6 7*marknotintersection elements 1 elements 2 *deletemark elements 1
0 -
No I've never noticed the *marknotintersection before - it's nice - still: would be more convenient for me if the mask reverse algorithm would work proper in all cases. because it's the same thing I would do on the HM GUI: select elems reverse the selection and mask them ...
but thanks for your advice!
0