I am using ISketchRelation::ReplaceEntity, but after it's used, there is a green check box in the top right hand corner. It appears that when I execute this command, even when done successfully, it never fully leaves the command.
for now, I use the following code, but it's not a solution it's a work-around:
<span class="keyword token">bool</span> running <span class="operator token">=</span><br> app<span class="punctuation token">.</span><span class="token function">IsCommandEnabled</span><span class="punctuation token">(</span><br><span class="punctuation token">(</span><span class="keyword token">int</span><span class="punctuation token">)</span>SolidWorks<span class="punctuation token">.</span>Interop<span class="punctuation token">.</span>swcommands<span class="punctuation token">.</span>swCommands_e<span class="punctuation token">.</span>swCommands_ReplaceEntity<span class="punctuation token">)</span><span class="punctuation token">;</span><br><span class="keyword token">if</span> <span class="punctuation token">(</span>running<span class="punctuation token">)</span> <span class="punctuation token">{</span><br> SketchPoint skPt <span class="operator token">=</span> skMgr<span class="punctuation token">.</span><span class="token function">CreatePoint</span><span class="punctuation token">(</span><span class="number token">0</span><span class="punctuation token">,</span> <span class="number token">0</span><span class="punctuation token">,</span> <span class="number token">0</span><span class="punctuation token">)</span><span class="punctuation token">;</span><br> skPt<span class="punctuation token">.</span><span class="token function">Select4</span><span class="punctuation token">(</span><span class="keyword token">false</span><span class="punctuation token">,</span> <span class="keyword token">null</span><span class="punctuation token">)</span><span class="punctuation token">;</span><br> model1<span class="punctuation token">.</span><span class="token function">EditDelete</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">;</span><br><span class="punctuation token">}</span><span class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span>I searched all over, and cannot find a way to stop a running command detected by ISldWorks::IsCommandEnabled. It appears that this is a bug with ISketchRelation::ReplaceEntity, but I would think there would be a way to programmatically leave an active command, like in this scenario.
I also prefer not to exit the sketch, to only go ack into it to finish my processing. This just seems sloppy.
Is there a way to stop a running SolidWorks command, or is executing a different command the only solution?
SolidworksApi/macros