Экструдирование не обязательно является поверхностью. Например, вы можете выдвинуть точку в линию.
Я думаю, что происходит, когда функция деактивирована, поверхности нет, поэтому во время запроса ничего не возвращается. CATIA, похоже, заботится только о получаемой форме, а не о типе объекта - когда вы запрашиваете «Поверхность».
Если вы запрашиваете и обрабатываете «GSMExtrude» вместо «Поверхность», вы обнаружите, что оно работает.
Так что, возможно, вы могли бы сделать, когда собираете объект для повторной активации:
lObjects = geoset->Query("Surface","") + geoset->Query("GSMExtrude","")
Что должно дать вам все. Это усложняет процесс при повторной активации.
То же самое может относиться и к другим типам, возможно, к функции Split. Разделение также может быть поверхностью или кривой.