How can I import CAD geometry from SimWise4D?

2 ビュー (過去 30 日間)
Kudakwashe
Kudakwashe 2025 年 6 月 12 日
回答済み: Shishir Reddy 2025 年 6 月 26 日
i am getting this error when using the get geometry app
Cell contents reference from a non-cell array object.
Error in cell2mat (line 42)
cellclass = class(c{1});
Error in GetSimWiseCGFrame (line 8)
cog = cell2mat(cog);
Error in GetAssemblyBodiesFromSimWise (line 22)
Frames(BodyCount) = GetSimWiseCGFrame( Frames(BodyCount), body );
Error in GetAssemblies>GetSimWiseAssembliesAndBodies (line 32)
[BodyCount, AssemblyStructure, Frames, Joints, Bodies, GroundedFrames, JointCount] =
GetAssemblyBodiesFromSimWise(assem, AssemblyStructure, AssemblyIndices, Frames, Joints, Bodies,
GroundedFrames, BodyCount, JointCount, SimWiseObject );
Error in GetAssemblies (line 20)
[~, RootAssembly, Frames, Joints, Bodies, GroundedFrames, JointCount] =
GetSimWiseAssembliesAndBodies(swroot, RootAssembly, AssemblyIndices, Frames, Joints, Bodies,
GroundedFrames, BodyCount, JointCount, SimWiseObject );
Error in CreateBodiesJointsAndFramesStructuresFromSimWiseModel (line 119)
[Assemblies, Frames, Joints, Bodies, Gears, PointToPoints, Loads, Motors, ActuatedPrismatics,
CurvedSlotJoints, GroundedFrames] = GetAssemblies( SimWiseObject, Frames, Joints, Bodies, Gears,
PointToPoints, Loads, Motors, ActuatedPrismatics, CurvedSlotJoints, GroundedFrames );
Error in ConnectToSimWiseGetDataAndBuildMechanicalModels2 (line 10)
[Assemblies, Bodies, Joints, Gears, PointToPoints, Loads, Motors, ActuatedPrismatics,
CurvedSlotJoints, Frames, GroundedFrames, AdditionalFrames, Curves] =
CreateBodiesJointsAndFramesStructuresFromSimWiseModel( SimWiseObject );
Error in GetGeometryGUI>pushbutton2_Callback (line 113)
ConnectToSimWiseGetDataAndBuildMechanicalModels2( SimWiseObject, callSimMechanicsAndWriteMGFile012, 1
);
Error in gui_mainfcn (line 95)
feval(varargin{:});
Error in GetGeometryGUI (line 44)
gui_mainfcn(gui_State, varargin{:});
Error in @(hObject,eventdata)GetGeometryGUI('pushbutton2_Callback',hObject,eventdata,guidata(hObject))

回答 (1 件)

Shishir Reddy
Shishir Reddy 2025 年 6 月 26 日
As per my understanding, you are enountering the following the error while running the code.
Cell contents reference from a non-cell array object.
Error in cell2mat (line 42)
cellclass = class(c{1});
Error in GetSimWiseCGFrame (line 8)
cog = cell2mat(cog);
This suggests that the variable 'cog' is expected to be a cell array, but it's actually a different data type (e.g., a structure, numeric array, or string). Which implies that the following line is causing the issue -
cog = cell2mat(cog);
Kindly refer the following troubleshooting steps to resolve the problem:
1. Check the type of 'cog' before calling 'cell2mat'
Add a debugging statement before line 8 in 'GetSimWiseCGFrame.m'
disp(class(cog));
2. Verify the data returned from SimWise:
If 'cog' is being returned from a SimWise API or function, ensure that the API is returning it as a cell array, or adjust the code to handle the actual format appropriately.
3. Modify the code if necessary:
If 'cog' is already a numeric vector and not a cell, 'cell2mat' is not needed. So, that conversion step can be skipped.
I hope this resolves the issue.

カテゴリ

Help Center および File ExchangeMigrate GUIDE Apps についてさらに検索

製品


リリース

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by