How can I import CAD geometry from SimWise4D?
6 次查看(过去 30 天)
显示 更早的评论
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))
0 个评论
回答(1 个)
Shishir Reddy
2025-6-26
Hi @Kudakwashe
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.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Migrate GUIDE Apps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!