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

Случайное заполнение детали другими деталями C#


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

Возник вопрос, реально ли реализовать в C# случайное заполнение детали другими деталями.
Как пример, есть код, который реализует построение в Компасе аквариума и камня. По итогу надо заполнить аквариум камнями, но не используя Компасовские массивы (там тогда будет присутствовать какая та система), а как в жизни (что бы каждый лежал как ему вздумается).
За советы, подсказки, рекомендации буду очень благодарен!

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


Это наверное надо спрашивать на форуме по C#.

Через CAE можно использовать DEM моделирование - создать сами камешки (сейчас в DEM можно создавать частицы произвольной формы и задавать им некоторый разброс). И заполнить ими аквариум, программа сама посчитает как они улягутся.

maxresdefault.jpg

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

Возник вопрос, реально ли реализовать в C# случайное заполнение детали другими деталями.

В С# можно любую программу написать. Достойный язык программирования. А задача не из простых. Нужно искать точки соприкосновения деталей произвольной формы.

Для этого придется маленький парасолид написать. :)

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

можно что-то вроде тетриса, только без удаления - исключить пересечения

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

можно что-то вроде тетриса

Камень и аквариум из Компаса нужно в каком-то формате передать в новую программу. Чтобы остановить падение очередного камня нужно найти хотя бы одну точку соприкосновения с другими камнями и со стенками аквариума. А для реалистичной картины нужно найти еще две точки. Полученные точки не должны  лежать на одной прямой.  

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

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

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

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

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

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

плоский граф на C# https://www.codeproject.com/Tips/797123/Fast-Voronoi-Diagram-in-Csharp

 

3Д разбиение  
Hide  

 

лучше "партиклами"

Скрытый текст

 

 

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

Может и получится, код на c++, надо транслировать на C#. или как dll плагин, через API.
опенсурс вроде ->http://math.lbl.gov/voro%2B%2B/about.html

cylinder_t.png.68f965a4da83a9edce802bf14c284d9e.png

Ссылка на сообщение
Поделиться на других сайтах
13 часа назад, ДОБРЯК сказал:

Камень и аквариум из Компаса нужно в каком-то формате передать в новую программу

не дочитал вопрос, не заметил, что нужно сделать для программы и в 3д

На форуме двж была еще тема для Текла и ее АПИ, ребята плагин делали для упаковки металлоконструкций, там апи тоже на шарп, видео на ютуб. Кода в доступе нет. Скорее всего автору темы тоже не поможет. 

 

Цитата

 и камня

Выше вариант вроде неплохой.

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

Алгоритмы: Efficient linear programming algorithm to generate the densest lattice sphere packings 

https://pdfs.semanticscholar.org/3ef9/963898c0948452ce788546b3b677d585ea79.pdf

@karachun это виноград.:biggrin:

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

@Blurp , не в Ваших традициях, кажется, называть софт, но все же: "какой в этот раз?". имею в виду последний этап насыпания.

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

какой в этот раз?

Я использовал

В 9/29/2018 в 03:21, Chardash сказал:

что-то вроде тетриса

Скрытый текст

Не в обиду, но лень праздный интерес удовлетворять. Да даже и непраздный.

Открой Гуглотуб, поищи. Подобных софтов немало. Какой конкретно тут - не принципиально.

Программы эти правда номинально не относятся к CAE и такие же номинальные инженеры воротят от них рожу, но мне эти софтины нравятся. :smile:

Вот тоже грешным делом подумал, что во втором посте картинка собственного пера.

Но потом нашел видос. Гуглопоиск рулит кароч.

 

 

 

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

Подобных софтов немало.

я в курсе. поэтому и интересен конкретно примененный.

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

я в курсе. поэтому и интересен конкретно примененный.

Фром Софтнэймс ду РэндомЧёйс.

All

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

мне есть, чем решить эту задачу

Вот и реши для завязки полезного диалога. И для пользы данного топика.

Но ты же, полагаю, предпочтешь давить кнопки во флейме и добавлять порожних байтов темам, изначально для этого не предназначенным. Так ведь? :wink:

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

Вот и реши для завязки полезного диалога. И для пользы данного топика.

Но ты же, полагаю, предпочтешь давить кнопки во флейме и добавлять порожних байтов темам, изначально для этого не предназначенным. Так ведь? :wink:

Maya?

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

@frei Хороший вариант. Особенно для кубиков. :smile:

А за то, что легальная версия, прям респект! :clap_1:

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Anat2015
      @Madmax70 Это клон уже обсуждаемого. Админу надо просто удалить это.
    • Maks Horhe
      Можно и так сказать) Пока я не выслал бэкап посмотрите пожалуйста, будет работать уп? Станок 3х фрезер, fanuc 0i mf plus. Именно в таком виде, в одном файле, может где ошибся, подскажите. Пока не пробовал. %  O0001(FREZA D40R5) G21 G0 G17 G40 G49 G80 G90 T1 M6 (D40) G0 G90 G54 X0. Y0. S800 M3 G43 H1 Z20. M8 G1 F500. X0. Y0. G66 P8888 X0. Y0. G67 G66 P8889 X0. Y0. G67 G66 P8890 X0. Y0. G67 M5 M9 M30 % O8888 #20=20(RFrezi) #21=63.7(DNach) #22=-121.0(Z) #23=4.5(Angle) #24=1(step Z) #25=0.25(step CIRC) #33=-1(G2-1 G3+1) (****************) G90 G1 Z1.0 #11=0 #12=0 #13=1.0 #26=ROUND[3.142*#21/#25](N) #27=#21/2-#20 #31=#27 #28=0 #29=#24*TAN[#23] #30=#29/#26 #32=360/#26 N1 #1=#11+#27*COS[#28] #2=#12+#27*SIN[#28] #3=#13+[#27-#31]/TAN[#23] IF [#3 LT #22] GOTO2 G1 X#1 Y#2 Z#3 #27=#27-#30 #28=#28+#32*#33(G2 or G3) IF [ABS[#28] GE 360] THEN #28=0 IF [#27 LE 0.1] GOTO3 GOTO1 N2 X#1 Y#2 G2 I[#11-#1] J[#12-#2] N3 G1 X#11 Y#12  (Z[#13+5]) X#11 Y#12 M99 % O8889 #20=20(RFrezi) #21=45(DNach) #22=-121(Z) #23=0.001(Angle) #24=0.5(step Z) #25=0.25(step CIRC) #33=-1(G2-1 G3+1) (****************) G90 G1 Z-113.0 #11=0 #12=0 #13=-113. #26=ROUND[3.142*#21/#25](N) #27=#21/2-#20 #31=#27 #28=0 #29=#24*TAN[#23] #30=#29/#26 #32=360/#26 N4 #1=#11+#27*COS[#28] #2=#12+#27*SIN[#28] #3=#13+[#27-#31]/TAN[#23] IF [#3 LT #22] GOTO5 G1 X#1 Y#2 Z#3 #27=#27-#30 #28=#28+#32*#33(G2 or G3) IF [ABS[#28] GE 360] THEN #28=0 IF [#27 LE 0.1] GOTO6 GOTO4 N5 X#1 Y#2 G2 I[#11-#1] J[#12-#2] N6 G1 X#11 Y#12  (Z[#13+5]) X#11 Y#12 M99 % O8890 #20=20(RFrezi) #21=44.969(DNach) #22=-195(Z) #23=-4.5(Angle) #24=0.5(step Z) #25=0.25(step CIRC) #33=-1(G2-1 G3+1) (****************) G90 G1 Z-121.0 #11=0 #12=0 #13=-121.0 #26=ROUND[3.142*#21/#25](N) #27=#21/2-#20 #31=#27 #28=0 #29=#24*TAN[#23] #30=#29/#26 #32=360/#26 N7 #1=#11+#27*COS[#28] #2=#12+#27*SIN[#28] #3=#13+[#27-#31]/TAN[#23] IF [#3 LT #22] GOTO8 G1 X#1 Y#2 Z#3 #27=#27-#30 #28=#28+#32*#33(G2 or G3) IF [ABS[#28] GE 360] THEN #28=0 IF [#27 LE 0.1] GOTO9 GOTO7 N8 X#1 Y#2 G2 I[#11-#1] J[#12-#2] N9 G1 X#11 Y#12  G1 Z[0+10] F2000. X#11 Y#12 M99 %  
    • Eduard99
      Заказ очень актуальный, прошу не стесняться задавать вопросы на почту и переходить к обсуждению. Количество может быть разделено на 2 партии: по 4шт каждого + остаток. Первая партия на 4шт. потребуется за 2 месяца, остальное можно попозже. Являюсь прямым заказчиком.
    • AlexArt
      Ну заниматься математикой на досуге полезно для прочистки мозга.
    • Madmax70
      какие они молодцы
    • mannul
      Вы уверены что у вас программа и подпрограмма выводятся? Оставьте галочку только на УП при записи:    
    • gudstartup
      проверяйте все что написано в руководстве. то что вы там нарезаете хоть десятками к рг  не имеет отношения она зафиксирована. или это привод активного инструмента?
    • gudstartup
      на каких блоках7 если надпись smartkey не исчезает то ключ не читается у вас он не читается по причине неправильной работы базы. можите вынуть ключ с базы и посмотреть ошибка должна остаться
    • mannul
    • FitchKrause
      Ранее на этом станке успешно запускали нарезку 5-и уплотнителей, нарезали две штуки, и в момент смены инструмента нажали reset. Посыпались ошибки, их вроде устранили, попутно сбросив нули станка(не специально) и восстановив их, после он проработал примерно час и проблем не было. Ещё ранее, его пару раз запускали и нарезали уплотнители, работал без проблем. А про разборку двигателя не известно, скорее всего как он приехал, включили, дабы проверить на работоспособность и все.
×
×
  • Создать...