0
$\begingroup$

My question is related to a string of questions Ive asked in the last few days. I'm trying to superimpose a vectorplot on a3D plot that I've produced on AceFem using the SMTShowMesh Command. I'm trying to get the vector field on the surface of the block to describe fibre directions at each node. I keep getting a "Could not combine the graphics objects in " and . "Skeleton is not a Graphics3D primitive or directive." the following graphics:enter image description here

I'm just trying to superimpose the graphics so that the vector field plot is on top the block. Without putting my whole code up, this command and a few other things is what I have tried so far.

SCnodes = StratumCorneumNodes;
info = SMTNodeData[SCnodes, "X"];
Show[SMTShowMesh["BoundaryConditions" -> True] (*this is the command I used to produce the main block*), 
 Epilog \[RightArrow] 
  Inset[VectorPlot3D[{Cos[41], Sin[41], 0}, {x, MeshXmin, 
      MeshXmax}, {y, MeshYmin, MeshYmax}, {z, MeshZmin, MeshZmax}, 
     Boxed -> False, Axes -> None, VectorPoints -> info, 
     VectorStyle -> Black, VectorScale -> Small] /. 
    Arrow[x_] :> Arrow[{Mean[x], Mean[x] + Last[x] - First[x]}], 
   StratumCorneumMastermesh[
    "Wireframe"[
     "MeshElementStyle" -> 
      Directive[{EdgeForm[], FaceForm[LightGray]}]]]]]

I agree that the object I have produced in AceFem is not recognized as a £D graphics object in Mathematica. Is there any way I can convert it to an object? Any help would be much appreciated. Thank you

$\endgroup$
  • 1
    $\begingroup$ Just for the record, visualization function SMTShowMesh creates Graphics or Graphics3D objects. You can check their internal structure by evaluating InputForm@SMTShowMesh[...] (on small examples). $\endgroup$ – Pinti Jan 6 at 8:41
1
$\begingroup$

I found a solution to my problem. The code that I ended up with is:

    Show[SMTShowMesh["BoundaryConditions" -> True], 
 Graphics[VectorPlot3D[{Cos[41], -Sin[41], 0}, {x, MeshXmin, 
     MeshXmax}, {y, MeshYmin, MeshYmax}, {z, MeshZmin, MeshZmax}, 
    Boxed -> False, Axes -> None, VectorPoints -> info, 
    VectorStyle -> Black, VectorScale -> Small] /. 
   Arrow[x_] :> Arrow[{Mean[x], Mean[x] + Last[x] - First[x]}], 
  StratumCorneumMastermesh[
   "Wireframe"[
    "MeshElementStyle" -> 
     Directive[{EdgeForm[], FaceForm[LightGray]}]]]]]

```
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.