Свершилось!, FreeCAD заработал |
Здравствуйте, гость ( Вход | Регистрация )
Свершилось!, FreeCAD заработал |
14.10.2011, 23:20
Сообщение
#21
|
|
шаражник по жизни, рядовой Группа: недомод :) Сообщений: 5484 Регистрация: 24.11.2009 Из: Россия, Челябинская область Пользователь №: 26 |
|
|
|
15.10.2011, 0:12
Сообщение
#22
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
Табуляциями и _____ ? Совершенно ага. Ну не могу я пробел воспринимать как элемент языка! Ладно кракозябры мэйкфайла, хрен с ним, не так часто туда вникаем, но чего-то выдумывать на этой питонобайде - мУка. Из-за глупой case-sensitivity при огромном количестве букафф, я все время пользую хрен кем написанные модули с совершенно длиннющими именами и прыгающим регистром как в паскале. Это ужасно. А чотак питон-та ненавистный? Чем не угодил? И какой скриптовый язык кашерный? D неплохо смотрится, тем, что он и интерпретируемый и компилируемый - язык один. А вообще-то я до сих пор сторонник такого подхода, чтобы скриптоязык был ориентирован не на сферического коня, а на конкретную проблемную область, с максимальными упрощениями. Почти в тему. Сейчас поставлю полугектарную Autodesk123D, будем посмотреть, где на%бка. А так, помянутый OpenSCAD вкупе с нанокадом становится шедевральным ынструментарием. Ы. Если не запускать рендеринг - 4ядерную/3.4ГГц машину на всех ядрах гоняет аж полминуты для рендера примера №22. Это пейсец. ЗЫ 123D еще и дотнет4 апдейтит. И не хочет в хр64 ставиться как 32 разрядка - надо ему обязательно 64-ку скачивать. Кошмарная программа. Почитал пдфку - выглядит как наш ответ чемберлену, в смысле сименс nx6 ззы ВО! Вершина ымбеда очередная - юзать полугектарное чудовище для того, чтобы смастерить вот это: [attachment=3345:Anvil.jpg] |
|
|
15.10.2011, 9:58
Сообщение
#23
|
|
Adept Группа: Пользователи Сообщений: 522 Регистрация: 20.4.2011 Из: Novosibirsk Пользователь №: 346 |
Табуляциями и _____ ? Совершенно ага. Ну не могу я пробел воспринимать как элемент языка! Ладно кракозябры мэйкфайла, хрен с ним, не так часто туда вникаем, но чего-то выдумывать на этой питонобайде - мУка. Ну, ребята, чего-то вы не того. Меня тоже поначалу пугал такой подход - оформление блоков по отступам, но поработав немного, понял, что это наоборот классно! Во-первых, нет лишней писанины - точек с запятой в конце выражений - лишние они, скобок или дурацких begin/end. Во-вторых, код, написанный кем угодно, выглядит структурировано и единообразно. Чего нету ни в одном другом ЯП. На тех же С/С++ нередко можно встретить варианты: CODE if { slon = ... } if { slon = ... } if { slon = ... } if { slon = ... } if {slon = ... ... mamont = ...} и т.д. На питоне такого в принципе быть не может. Из-за глупой case-sensitivity при огромном количестве букафф, я все время пользую хрен кем написанные модули с совершенно длиннющими именами и прыгающим регистром как в паскале. Это ужасно. О, ну придумали! Да это у любого языка есть (в том числе и у упомянутого D). Претензии к стилю программирования, а не языку. Если кто-то пишет говнокод, причём тут ЯП? Питон, кстати, куда больше других языков способствует единому стилю. Для себя надо выработать стиль и его придерживаться. Например, именно для питона есть рекомендации, скажем все функции выполнять в нотации function_looks_like_this(), а классы - ClassLooksLikeThis. И т.д. При соблюдении таких простых правил проблем с читабельностью не возникает никаких. D неплохо смотрится, тем, что он и интерпретируемый и компилируемый - язык один. Так D - это развитие С++. Вот уж куда более тяжёлый во всех смыслах язык. Преимущество его - высокая эффективность кода, что делает его незаменимым в embedded и там, где требуется скорость и низкое ресурсопотребление. |
|
|
15.10.2011, 10:19
Сообщение
#24
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
|
|
|
15.10.2011, 12:49
Сообщение
#25
|
|
Adept Группа: Пользователи Сообщений: 522 Регистрация: 20.4.2011 Из: Novosibirsk Пользователь №: 346 |
Это бесспорно. Просто у меня складывается такая ситуёвина, что пользуюсь питоном по принуждению, вот и вся история. Пожиратель, тсз, говнокода. А так - религиозных претензий нет, Вы ж понимаете? А, ну это меняет дело. Говнокод на любом языке отвратительная вещь и питон ещё далеко не самый тяжёлый случай. |
|
|
16.10.2011, 1:26
Сообщение
#26
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
|
|
|
16.10.2011, 5:07
Сообщение
#27
|
|
Adept Группа: Пользователи Сообщений: 522 Регистрация: 20.4.2011 Из: Novosibirsk Пользователь №: 346 |
Но все-таки, на кой же там хрен оставлена чувствительность к регистру? Вопрос риториццкий. Почему ж риторический? Самый что ни на есть практический. Я вот наоборот терпеть не могу языки, где пиши в любом регистре - все одно. Разный регистр позволяет использовать более гибкие схемы именования и стили кодирования. Например, как приводил уже выше - функции кодируются всегда в low-case с underscore, а классы с "отбиванием" логических частей идентификатора заглавными символами. Кроме того, это позволяет использовать одни и те же имена для разных по семантике сущностей языка - например: Slon slon = SLON; // Slon - тип, slon - объект, SLON - макрос Не нужно выдумывать ни новых имён, ни схем модификации имён - при написании любой программы проблема выбора адекватных, удобных, читабельных имён всегда обладает актуальностью, и возможность использования полного спектра символов оказывается очень кстати. Что касается восприятия, то это дело привычки. Меня наоборот ломает, если Slon и slon - это одно и тоже. Для меня это разные сущности, и разность эта воспринимается на уровне печёнок. |
|
|
17.10.2013, 21:58
Сообщение
#28
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
В общем, играюсь во фрикаде +питон уже какое-то время. Интересуюсь сделать макрос для обмена с кикадом, вместо дурного wings3d и компания.
Схема простая: 1. Кикад pcbnew->FreeCAD Выводим *.pos - файл. Он парсится на раз-два CODE dict ={} f.close() f=open("/home/pasha/projects/freecircuit/test.pos") for m in f: tk = m.split(' ') tok=[] for w in tk: if w !='': tok +=[w] if tok[0][0] == '#': continue vec=[float(tok[3]), float(tok[4]), float(tok[5])] flip= tok[6].find("B.Cu") >= 0 vec += [flip] try: set=dict[tok[2]] except: set=[] dict[tok[2]]=set+[vec] f.close() Получили словарь вида {'FootPrint':[[x,y,rotation,flip],...],...} Далее, из либы заготовок являющейся файлом фрикада, импортируются параметрические компоненты корпусов, а сама генерация футпринтов - чаще делается через питон. По крайней мере, я не вижу, что будут браться готовые модели - варианты формовки простоты не добавляют. Плюс еще подумать насчет надписей -вообще пц был бы. Помесь generic`ов Protel Design Explorer99(если кто помнит - там выводные резисторы сразу с цветовым кодом генерились), с протеусом. ------ Дальше - вопрос. Хочу посоветоваться по поводу такой вещи. Солиды во фрикаде имеют дуальность представления. Если к ним добираться из App.ActiveDocument.getObject() - получаем всё, что касается модели, а если из Gui.ActiveDocument.getObject() - получаем материал, раскраску итд итп. Оно и видно из структуры файла: это есть комбайн из BREP и XML -"раскраски" В общем, дуальность несколько раздражает. Если компоненты интанцировать втупую созданием копии и перемещением, скорее всего, получим сильный рост объема информации и связанные с этим тормоза. Но есть другой способ - организовать параметрическую либу по принципу раскраски, т.е. например SOIC(N) состоит из паттерна пинов и пластикового корпуса. Так вот, пины у нас одного цвета, корпуса - другого. При помещении инстанса - можно пользоваться копией модели более низкого уровня, т.е. BREP, и они будут цвета детали-предка. Минусы подхода - компонент низзя переместить, но это вроде тоже решаемо - двигать именно полноценную копию, а по завершению перемещения редактировать множества форм. -- В общем, интересно послушать мнения, особенно тех, кто интересовался устройством фрикада. 2. FreeCAD->pcbnew А тут всё просто. Задаём контуры платы и отправляем его питоном в файл платы, там просто добавляем линии в слой контура. -- Прошло время, стойкая неприязнь к питону из-за бардака с регистром, версиями 2/3 и реализацией классов сменилась почти религиозной любовью. |
|
|
Гость_MrYuran_* |
18.10.2013, 8:44
Сообщение
#29
|
Гости |
|
|
|
18.10.2013, 10:02
Сообщение
#30
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
А у нас конструктор освоила вингс и такие модельки лепит - загляденье. Отрендерить - так красивше будет, чем живьем. Кстати, фрикад stl умеет делать? А то я тут задумал 3д печатью увлечься.. Wings не скриптовый, что толку, что в строке ввода можно арифметические выражения задавать? Собсна, я тоже когда-то вкурил вингс, но по сравнению со скриптовыми типа сабжа или OpenCascade Python - это всё туфта. Фрикад *.stl делает и хавает без проблем, кроме того интересен OpenSCAD - он тоже под stl заточен -- Прихожу ко всяким извращениям типа оченнь накрученного питона ipython+jed+прочее всякоразное - получаем монстра. Интерактивные инструменты ввода графики прикрутить через сокеты. Файл проекта - питоновский файл. С такими штуками не нужен ни матлаб ни эклипс ни кикад в оригинальном виде. |
|
|
18.10.2013, 16:57
Сообщение
#31
|
|
ДИКТАТОР Группа: Мод Сообщений: 23809 Регистрация: 20.11.2009 Из: Житомир Пользователь №: 3 |
Не очень понял цель работы.
Если делать 3д модельки — так вроде как их есть в диптрэйсе, и добавлять несложно, если уже чего-то не нашлось чтобы просто смасштабировать и подогнать по месту... библиотека у них громадная, но местами довольно бестолковая... |
|
|
18.10.2013, 22:20
Сообщение
#32
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
Цель такая, чтобы получить под фрикадом средство подобное CircuitWorks, не сильно влезая в кишки, пользуясь только питоном.
Я так понимаю, что если все это накрутить в чистом как слеза OpenCascade, то будет дремучий лес. А тут - удобная вещь все-таки. |
|
|
20.10.2013, 11:58
Сообщение
#33
|
|
ДИКТАТОР Группа: Мод Сообщений: 23809 Регистрация: 20.11.2009 Из: Житомир Пользователь №: 3 |
Цель такая, чтобы получить под фрикадом средство подобное CircuitWorks, не сильно влезая в кишки, пользуясь только питоном. Я так понимаю, что если все это накрутить в чистом как слеза OpenCascade, то будет дремучий лес. А тут - удобная вещь все-таки. Таки да, иногда возникает такое желание, чтобы как бы связать механику и электрику. К примеру, если сначала платы делать, а после конструктив — то охота вынести все эти платы в виде моделек 3D, да и вставить их в конструктив. Однако, тяжеловатые получаются модельки, потому что у меня выходит так, что ДипТрэйс экспортирует только в WRML или как оно там называется, и при этом не понимает цилиндрических поверхностей, делает их кучей треугольников, и все это после очень тяжело крутится, жрет много памяти и так далее. Опять же, накойхер делать слишком подробно, со всеми отверстиями в плате и всеми SMD- компонентами, особенно не нужны мелкие, которые на конструктив не влияют особо... А потому что тормозит все это после не по детски... Потому и с точки зрения правильного проектирования, и для удобства выгоднее сначала делать моделирование, конструктив, а после уже какие получились платы, переносить их в программу трассировки через DXF какой-то там... Ну а если получилась слишком, к примеру, маленькая плата и все не влазит — тогда сначала переделать ее конструктив в модели, после снова слить в трассировщик, оно и выгоднее потому, что уж точно в конструктив влезет после. Конечно, крупные элементы должны быть спроектированы в том же солиде или кто там в чем проектирует конструктив. И они потому будут полегче весом, побыстрее крутиться будут, даже если их детально вырисовывать там. Ну и сбросить их в WRML для просмотра 3D изображения платы в трассировщике тоже как-то более естественно получается, да не грех иногда упрощенку дополнительно делать для конструктива, параллельно, если проект сложноват. Крайний проект я пробовал делать наоборот, идти от плат к конструктиву — нае..ся неплохо так, хотя целью была не е...ля, а работа... Вот такие расклады по факту, хотя если что-то маленькое и легонькое делать — то все может и так и так получаться... Ну и если бы у бабушки... то есть, если бы комп побыстрее, да если бы импорт-экспорт был более корректным, ну и так далее, и так далее... Ну а если бы не если, то надо играть теми картами, что сданы — а это вот так вот удобнее, как описал выше... |
|
|
20.10.2013, 14:17
Сообщение
#34
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
Однако, тяжеловатые получаются модельки, потому что у меня выходит так, что ДипТрэйс экспортирует только в WRML или как оно там называется, и при этом не понимает цилиндрических поверхностей, делает их кучей треугольников, и все это после очень тяжело крутится, жрет много памяти и так далее. Опять же, накойхер делать слишком подробно, Фокус в том, что vrml, используемый что в кикаде, что в диптрейсе, родился недоношенным. В принципе ведь идея была "бродить по 3-Д мирам" дох*я побродишь с таким кол-вом информации. Конечно, лучше всего учитывать степень деградации 3Д-модели в чем-то похожем на язык программирования. Т.е задали деталь, ее цвет и материал - и указали координаты ее копий. Вроде бы в vrml такая возможность есть, а также есть вариант vrml + zip, собственно, в питоне похер, что просто файл читать/писать, что в/из архива. Ничего придумывать для этого не надо |
|
|
20.10.2013, 15:33
Сообщение
#35
|
|
ДИКТАТОР Группа: Мод Сообщений: 23809 Регистрация: 20.11.2009 Из: Житомир Пользователь №: 3 |
Фокус в том, что vrml, используемый что в кикаде, что в диптрейсе, родился недоношенным. В принципе ведь идея была "бродить по 3-Д мирам" дох*я побродишь с таким кол-вом информации. Конечно, лучше всего учитывать степень деградации 3Д-модели в чем-то похожем на язык программирования. Т.е задали деталь, ее цвет и материал - и указали координаты ее копий. Вроде бы в vrml такая возможность есть, а также есть вариант vrml + zip, собственно, в питоне похер, что просто файл читать/писать, что в/из архива. Ничего придумывать для этого не надо Ну, я не очень понял. Хотя мне понятно, что если бы можно было описательно делать, было бы здорово. Я только не понял, как это обеспечить... |
|
|
20.10.2013, 20:52
Сообщение
#36
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
Хотя мне понятно, что если бы можно было описательно делать, было бы здорово. Я только не понял, как это обеспечить... Могу заблуждаться, т.к. vrml типо "изучал", без необходимости вникать, лет 8 назад. В общем, вывод сделал, что модели поданы в описании поверхностей, эдаком обобщенном методе, который легко парсится и генерится. И симптоматично, что кикад и диптрейс дружат с недо-системой wings3D, дурное влияние которого и видно по "ленивому экспорту" vrml. А шо делать? Хде он, этот вингс, информацию возьмет? Если там набор команд какбы для художников а не конструкторов. Краеугольный тупик... |
|
|
22.10.2013, 18:18
Сообщение
#37
|
|
ДИКТАТОР Группа: Мод Сообщений: 23809 Регистрация: 20.11.2009 Из: Житомир Пользователь №: 3 |
Могу заблуждаться, т.к. vrml типо "изучал", без необходимости вникать, лет 8 назад. В общем, вывод сделал, что модели поданы в описании поверхностей, эдаком обобщенном методе, который легко парсится и генерится. И симптоматично, что кикад и диптрейс дружат с недо-системой wings3D, дурное влияние которого и видно по "ленивому экспорту" vrml. А шо делать? Хде он, этот вингс, информацию возьмет? Если там набор команд какбы для художников а не конструкторов. Краеугольный тупик... да тут, видимо, история будет как с тем графическим редактором, который проект SK1: http://sk1project.org/ Там так вышло, что он развивается потихоньку давным давно, но уже появились новые инструменты для разработки, какие-то там движки-киты, ну и они в конце концов, понявши, что уже вся структура перепуталась, полностью стартовали с нуля на накопленном опыте писания просто редакторов как таковых, а не конкретной реализации. Поглядим, что там выйдет. Не то, чтобы это к данной задаче относилось конкретно, а просто я к тому, что пока что прошло первое поколение программирования, до первого тупика из-за проблем наследования менее совершенных решений. А теперь должно в разных областях уже то там, то тут, появляться аналогичное — чем ипаться, поддерживать всякие ублюдочные совместимости, лучше заново пересоздать... Жизнь, по крайности, диктует именно это. Ну а как оно будет на самом деле — она же, жизнь, и покажет. Ну и с этим тормознутым ВРМЛом тоже самое в принципе, ну неудачно его когда-то выдвинули на стандарт. А на самом деле, я вообще за слияние всех возможных графических редакторов в нечто мощное, имеющее функции и просто рисования, и конструирования, и 2Д и 3Д в одном продукте, хотя, возможно, модульно в разных флаконах, но очень и очень совместимо. Понятно, что снизу вверх, но хоть так. Ну и уже на базе этого продукта все остальное по ходу выпускается. В смысле, чисто с интерфейсными отличиями ну и там платформенными... |
|
|
23.10.2013, 8:59
Сообщение
#38
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
чем ипаться, поддерживать всякие ублюдочные совместимости, лучше заново пересоздать... Жизнь, по крайности, диктует именно это. Ну а как оно будет на самом деле — она же, жизнь, и покажет. -- Ну и с этим тормознутым ВРМЛом тоже самое в принципе, ну неудачно его когда-то выдвинули на стандарт. Такое происходит регулярно то с тем то с этим софтом. А забывать старое проблематично, если накоплен большой материал. -- Да не тормознутый он! Просто реализации не очень, много левых оберток, левых потому что делается все по уже готовому гую, который двумя уровнями выше, чем openGL, итого получаем 3 уровня между задачей и ее реализацией. |
|
|
23.10.2013, 10:54
Сообщение
#39
|
|
ДИКТАТОР Группа: Мод Сообщений: 23809 Регистрация: 20.11.2009 Из: Житомир Пользователь №: 3 |
Такое происходит регулярно то с тем то с этим софтом. А забывать старое проблематично, если накоплен большой материал. -- Да не тормознутый он! Просто реализации не очень, много левых оберток, левых потому что делается все по уже готовому гую, который двумя уровнями выше, чем openGL, итого получаем 3 уровня между задачей и ее реализацией. В общем, одно к одному. Сегодня так оно рендерится, завтра то ли карту новую слутят, то ли изобретут алгоритмы побыстрей — много чего может случиться. Потому есть смысл, конечно, делать описательно первый уровень, а уже непосредственно преобразование в изображение модульно, аппаратно и платформозависимо. Но тут башка надо большая, не любая форма легко может быть описана, хотя скатываться к мелким треугольничкам тоже неохота вроде бы. С другой стороны, уже все игрушки на тех треугольничках гоняют, привыкли и считается ну очень быстрым все. Похоже на тот самый ВРМЛ. Действительно, просто конструкторским программам досталась какая-то ну очень ублюдочная реализация, и может довольно было бы просто ее поправить? Вообще, мне кажется что в этих 3д игрушках уже давно все проблемы порешали, а просто они там варятся в собственных соках, а конструкторы тоже в собственных, но прокисших. Не зря же даже графические карты для того же быстрого рендеринга для наших целей продают отдельно и за бешеные бапки, как эта Н-видиа квадро и тому подобное. Хотя по большому счету делают то же самое... Где-то куда-то влезли коммерческие цели, и уже где-то кого-то иппутт... |
|
|
23.10.2013, 13:55
Сообщение
#40
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
И снова.. почитал комментарии
Все говорят о мифическом коммерческом софте, который якобы чего-то там... Но: - все делается на 80% при помощи опенсорса. - все опирается на растущее железо. - почти весь коммерц на венде. На ШО оно здалося? -- OpenCL призван влезть в вычисления, он лезет, поэтому все колоссы ака OpenCascade скоро претерпят очередную метаморфозу. А там гектар исходников... |
|
|
Текстовая версия | Сейчас: 29.3.2024, 7:04 |