Перейти к публикации

Рекомендованные сообщения

@Maik812 К сожалению, задача повисла((( надо продолжить, есть другие проекты, которые отнимают много времени. Вы как то разделяете детали, сборки, уникальность деталей или обще кол-во дет. в сборке? 

Ссылка на сообщение
Поделиться на других сайтах


5 часов назад, Redinskiy сказал:

Вы как то разделяете детали, сборки, уникальность деталей или обще кол-во дет. в сборке? 

Тут трудно сказать так как чел может делать уникальную и дорогую , а если посидеть и поискать то можно в большинстве что то придумать из готовых. но время одинаково где то.

так что общее количество деталий.

обычно так. но все же от прожекта зависит.

Ссылка на сообщение
Поделиться на других сайтах

Если речь о сложности и трудоемкости, то количество деталей и их композиция в сборке не всегда ее характеризует. 7000 одинаковых деталей, выполненных массивом, это одна деталь. В оценке "производительности по проекту" (кстати, производительности кого/чего?) трудозатраты в большей степени определяются количеством связей, количеством и трудоемкостью "изготовления" уникальных деталей. Вообще говоря, подобные задачи стоит решать методом "весовых коэффициентов", но это отдельная история.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...

Вечер добрый!

Копаюсь в SW API в районе штриховок.

Подскажите, как по FaceHach получить Component ?

Пытаюсь через FaceHatch -> Face -> GetFeature() -> GetEntity() -> GetComponent() , но получаю Null еще на  уровне Feature.

Как я понимаю что FaceHatch  создаются SW специально на сечениях, вспомогательных видах с сечениями и т.д., но поверхностями компонента не являются. Как их связать с компонентом ?

 

Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, nicomed сказал:

Пытаюсь через FaceHatch -> Face -> GetFeature() -> GetEntity() -> GetComponent() , но получаю Null еще на  уровне Feature

Здесь пишут, что Feature лишний в цепочке 

How to get the component from a selected face (... | SOLIDWORKS Forums

 

Ссылка на сообщение
Поделиться на других сайтах
54 минуты назад, Kir95 сказал:

Здесь пишут, что Feature лишний в цепочке 

How to get the component from a selected face (... | SOLIDWORKS Forums

 

По хелпу у IFace2 нет интерфейса GetEntity(), а есть? GetFeature(). А, главное, у "них" разговор про просто выделенную face. С ней проблем нет, все работает. Проблемка именно с FaceHatch.

Ссылка на сообщение
Поделиться на других сайтах

Доброго утра!

Уточняющие вводные к предыдущему вопросу:

На чертеже выбираем вид:

View view = swSelMgr.GetSelectedObject6(1, 0) as SolidWorks.Interop.sldworks.View;

Из вида выбираем заштрихованные поверхности (FaceHatch):

foreach (FaceHatch fh in view.GetFaceHatches())

Далее идем по такой цепочке методов (все работает, по крайней мере имена feature начитываются корректно):

                    Face2 face = h.Face;
                    Body2 body = face.GetBody();
                    Feature feature = body.GetFeatures()[0];

Далее привожу Entity entity = feature as Entity;

Получаю компонент: Component2 comp = entity.GetComponent(); - и тут появляется null.

Где я не прав ?

 

Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, nicomed сказал:

Доброго утра!

Уточняющие вводные к предыдущему вопросу:

На чертеже выбираем вид:

View view = swSelMgr.GetSelectedObject6(1, 0) as SolidWorks.Interop.sldworks.View;

Из вида выбираем заштрихованные поверхности (FaceHatch):

foreach (FaceHatch fh in view.GetFaceHatches())

Далее идем по такой цепочке методов (все работает, по крайней мере имена feature начитываются корректно):

                    Face2 face = h.Face;
                    Body2 body = face.GetBody();
                    Feature feature = body.GetFeatures()[0];

Далее привожу Entity entity = feature as Entity;

Получаю компонент: Component2 comp = entity.GetComponent(); - и тут появляется null.

Где я не прав ?

 

А выделенные имена переменных - разные, это так и должно быть?

Изменено пользователем brigval
Ссылка на сообщение
Поделиться на других сайтах

.. это ошибка  в сообщении, решил сделать имена понятнее и не везде откорректировал ...

надо читать : Face2 face = fh.Face;

Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, nicomed сказал:

Доброго утра!

Уточняющие вводные к предыдущему вопросу:

На чертеже выбираем вид:

View view = swSelMgr.GetSelectedObject6(1, 0) as SolidWorks.Interop.sldworks.View;

Из вида выбираем заштрихованные поверхности (FaceHatch):

foreach (FaceHatch fh in view.GetFaceHatches())

Далее идем по такой цепочке методов (все работает, по крайней мере имена feature начитываются корректно):

                    Face2 face = h.Face;
                    Body2 body = face.GetBody();
                    Feature feature = body.GetFeatures()[0];

Далее привожу Entity entity = feature as Entity;

Получаю компонент: Component2 comp = entity.GetComponent(); - и тут появляется null.

Где я не прав ?

 

А какая цель этого кода?

Изменено пользователем Shvg
Ссылка на сообщение
Поделиться на других сайтах

Ну ..., если глобально, то, подозреваю, изобретение очередного велосипеда, ибо "патентный поиск аналогов" не производил.

... а конкретнее, есть мысль попробовать приведение штриховок на видах в порядок с учетом того,  что некоторые подсборки могут быть сварные (т.е.  детали штрихуются одинаково), а некоторые обычные, т.е. штриховка каждой детали своя.

На данном этапе хочу получить компонент, которому принадлежит заштрихованная грань отображенная в разрезе.

Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, nicomed сказал:

Ну ..., если глобально, то, подозреваю, изобретение очередного велосипеда, ибо "патентный поиск аналогов" не производил.

... а конкретнее, есть мысль попробовать приведение штриховок на видах в порядок с учетом того,  что некоторые подсборки могут быть сварные (т.е.  детали штрихуются одинаково), а некоторые обычные, т.е. штриховка каждой детали своя.

На данном этапе хочу получить компонент, которому принадлежит заштрихованная грань отображенная в разрезе.

Парадокс заключается в том, что когда вы мышкой выделите грань на виде, то можете получить ссылку на компонент, а иначе нет. Этот "велосипед" я катал много лет назад, не получилось. У меня была задача, чтобы штриховка компонента была одной на всех видах.

Ссылка на сообщение
Поделиться на других сайтах

Мне вот это место не понятно

Цитата

Далее привожу Entity entity = feature as Entity;

 

Правда, в хелпе не смотрел и код не пробовал.

Но по идее, на вскидку

entity - это линия на виде, а

feature - это узел в дереве...

 

В одном случае feature это Feature, а в другом - Entity

Может в этом причина?

Изменено пользователем brigval
Ссылка на сообщение
Поделиться на других сайтах

 

3 минуты назад, Shvg сказал:

Парадокс заключается в том, что когда вы мышкой выделите грань на виде, то можете получить ссылку на компонент, а иначе нет. Этот "велосипед" я катал много лет назад, не получилось. У меня была задача, чтобы штриховка компонента была одной на всех видах.

А, утрируя, просто принудительным перебором всех компонентов на всех видах с назначением  заданной пользовательской штриховки данному компоненту на данном виде вариант прорабатывался ?

12 минут назад, brigval сказал:

Мне вот это место не понятно

 

Правда, в хелпе не смотрел и код не пробовал.

Но по идее, на вскидку

entity - это линия на виде, а

feature - это узел в дереве...

 

В одном случае feature это Feature, а в другом - Entity

Может в этом причина?

По хелпу ТЫЦ кастовать Feature в Entity можно.

Ссылка на сообщение
Поделиться на других сайтах
19 минут назад, nicomed сказал:

 

А, утрируя, просто принудительным перебором всех компонентов на всех видах с назначением  заданной пользовательской штриховки данному компоненту на данном виде вариант прорабатывался ?

По хелпу ТЫЦ кастовать Feature в Entity можно.

А проверять типы не пробовали? После присвоения

Цитата

 

 ' Get type through entity interface
    Debug.Print "Entity type as defined in swSelectType_e: " & swEntity.GetType
    Debug.Assert (swEntity.GetType = swSelectType_e.swSelBODYFEATURES)

    ' Get type through feature interface
    ' Feature inherits from Entity, so will actually call Entity::GetType
    Debug.Print "Entity type as defined in swSelectType_e: " & swFeature.GetType
    Debug.Assert (swFeature.GetType = swSelectType_e.swSelBODYFEATURES)

 

 

Ссылка на сообщение
Поделиться на других сайтах
13 минут назад, nicomed сказал:

 

А, утрируя, просто принудительным перебором всех компонентов на всех видах с назначением  заданной пользовательской штриховки данному компоненту на данном виде вариант прорабатывался ?

Честно говоря, не помню. Возникла проблема назначить нужную штриховку компоненту на данном виде. Такой функции в API SW я тогда не нашел. Сейчас ее тоже как нет. Я просто устанавливал штриховку вручную и заносил ее данные в файл, а когда мышкой тыкал в компонент на другом виде, то мне моя программа показывала, что штриховка занесена и ее параметры и я устанавливал эти данные штриховки в этом виде.

Ссылка на сообщение
Поделиться на других сайтах
49 минут назад, Shvg сказал:

Далее привожу Entity entity = feature as Entity;

На С не программирую, но просто интересно. То что выделил, так и должно быть?

Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, brigval сказал:

На С не программирую, но просто интересно. То что выделил, так и должно быть?

Официальную версию не скажу, ибо сам начинающий самоучка, но такая запись работает, как и :

Entity entity = (Entity) feature;

Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, nicomed сказал:

Официальную версию не скажу, ибо сам начинающий самоучка, но такая запись работает, как и :

Entity entity = (Entity) feature;

Спасибо.

Ссылка на сообщение
Поделиться на других сайтах

Посмотрел малость.

Когда вы выходите на Body, то как бы заходите внутрь детали и просматриваете Features детали.

Изнутри детали компонент сборки не получить, на верх не выйти.

Поэтому Entity.GetComponent будет всегда Null

Чтобы Entity выдал компонент сборки, изображенной на виде, этот Entity должен быть примитивом (линией, поверхностью, вершиной или swViewEntityType_SilhouetteEdge), видимым на виде чертежа.

Поэтому, задача может быть такой - от штриховки перейти к примитивам вида.

Как это выполнить пока не понятно.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • Orchestra2603
      Было дело, считал прочность секции подземного тоннеля. И там как раз были гидростатические нагрузки из-за грунтовых вод. Там в различных сценариях предполагался разный уровень. И там тоже один из критических сценариев был похожий, когда силы плавучести могут вытолкнуть его наверх.
    • Fedor
      Если трясти банку с сахарным песком, то объем уменьшается, следовательно плотность его увеличивается, соответственно и сила Архимеда. https://pinega3.narod.ru/mg/mg.htm   тут описано как ее можно посчитать.  А трубопроводы точно бывает всплывают. Мой друг детства турбинист работал в Западной Сибири на газопроводе так рассказывал как ветка всплыла и он делали железобетонные блоки чтобы загрузить ...   Бывают просадочные грунты у них вообще может быть большая осадка из-за нарушения структуры. В Кемеровской области проектировал на таких  :) 
    • Борман
      Есть патент https://yandex.ru/patents/doc/RU2587730C1_20160620   В нем такой абзац   Кто что слышал про суперсилу Архимеда ?
    • gudstartup
      ваш станок видимо являет собой пример самой минимальной конфигурации которую можно представить или он пережил потерю памяти с последующим неполным восстановлением функций. Я вообще ни разу не видел чтобы на i серии не было индикации времени цикла только на самых древних сериях такое встречается но там даже нет такой функции. Не повезло вам.
    • Slavdos
      Доброе не можем купить вовремя перфораторы Flowdrill. никто не искал замену? все что привозили, стоит пару отверстий
    • ДОБРЯК
      Матрицы жесткости невырожденная.    Матрица жесткости   3.120000E+04 -3.120000E+04 -3.120000E+04 6.240000E+04      матрица масс диагональная  1.560931E-06 0  0            3.121861E-06    Какой алгоритм нахождения собственных векторов?
    • Bot
      Авторы — сотрудники «НИП-Информатика»; Е.Федоренко, к.г.-м.н., специалист технической поддержки, А.Пулина, ведущий инженер САПР по направлению Инфраструктура, горное дело. Аннотация Одно из основных направлений Стратегии развития строительной отрасли и жилищно-коммунального хозяйства, которое реализуется Минстроем, заключается в цифровизации отрасли. Приоритетом в развитии являются отечественные IT-разработки, которые должны создать соответствующую экосистему. Однако в общей схеме «изыскания – проектирование – строительство» существует слабое место — переход от результатов инженерно-геологических изысканий к проектированию. Сложные инженерно-геологические условия строительства гидротехнических сооружений в совокупности со сложными условиями их работы (фильтрационные, сейсмические силы и др.), а также повышенный уровень ответственности предопределяют необходимость расчетного обоснования проектных решений и конструкций. Комплексное решение проблемы с использованием [...] View the full article
    • gudstartup
      В тоже время на форуме написано слудующее  контрольная сумма 5бит а в информации от скбис 6бит интересно какая верная
    • Александр 36
      он стоит в единице
    • ertandur
      Как я буду загрузить этот? 
×
×
  • Создать...