LINUX.ORG.RU

Эксперименты со свободными САПР

 


2

6

Наткнулся в галерее на QCAD и задался вопросом, а почему люди его используют(поддерживая RibbonSoft ), почему не использовать LibreCAD, он мало того что симпатичный(Qt4) и в отличии от Community QCAD , в нем работают библиотеки компонентов, множественные привязки и куча разных мелочей. (+ещё поддержки форматов dxf по свежее)

Здесь на скриншотах я решил представить возможности FreeCAD в создании проекций. Если нужно больше скриншотов, то их я выложил сюда. Надеюсь скоро и разрабы САПР переберутся на kickstarter ,

из новостей в kicad есть интерфейс плагинов и есть возможность написания сценариев на python.

FreeCAD делают/сделали привязку , эскизов к ребрам твердых тел, ждем от них assembly модуля.

LibreCAD - вроде есть интерфейс плагинов и даже пример , но глубже я не копал, и вообще им бы обновить документацию. к проекту

На скриншоте, куллер, радиатор и два элемента пельтье.

>>> Просмотр (2560x1024, 281 Kb)

★★★★★

Проверено: JB ()
Последнее исправление: DR_SL (всего исправлений: 1)

Ответ на: комментарий от Zubok

Ну извините, либрекад выбрал dxf и выше того что в него заложено, прыгнуть не получится. В dxf для этих целей есть листы и аннотативность - если их реализовать, всё будет на автомате. В пространстве модели нет никаких видов с привязанным масштабом, поэтому либо городить надстройку над DXF, либо выкручиваться штатными средствами с минимальным ручным вмешательством

zamtmn ★★
()
Ответ на: комментарий от zamtmn

Не, ну я выше написал, что можно виды сохранять в блоки, например. Если масштаб блока известен при открытии файла, то проблемы как бы и не будет. Главное запомнить, что вот эта группа элементов в таком-то масштабе и учитывать при образмеривании. Возможно, есть и другие механизмы. Я парсер DXF делал давно и делал только то, что было еще в DXF 10-го автокада. :) С тех пор многое поменялось, но блоки уже тогда были.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

Ещё хотел спросить , по поводу gEDA , очень интересно, если будете работать запишите... либо пошаговые инструкции, либо видео.... меня особенно интересует как работать с Ngspice

DR_SL ★★★★★
() автор топика
Ответ на: комментарий от fat_angel

в том чертеже будет побольше 20 слоев

У меня простенький чертежик с десяток слоев занимает: толстые линии, тонкие, штрихпунктир, вспомогательные, блоки, контуры, контуры контуров, выделенные элементы…

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Zubok

Это и будет «минимальное ручное вмешательство» - смена стиля размера от масштаба блока. Руками или скриптом не суть важно, главное использование вещей для этого не предназначеных. Почитал либрекадный багтрекер, про неподдержку стилей размеров - тишина. Видимо никто в нем серьезных чертежей не делает, или такие «мелочи» никого не напрягают

zamtmn ★★
()
Ответ на: комментарий от Eddy_Em

Не думаю что тормоза от колва слоев. Скорее от количества пнримитивов и количества вершин в этих примитивах

zamtmn ★★
()
Ответ на: комментарий от zamtmn

Ну оно и некорректное вмешательство, может быть. Потому что как-то надо отличать блоки просто увеличенные от увеличенных блоков для вида. То есть для одного увеличенного блока размеры 1:1 ставить, а для другого в его масштабе. Короче, хрен знает. Стандарт надо читать на DXF, что там есть для таких случаев. Но вот сколько лет существует QCAD (а он уже много лет чуществует), но этого нет. И мне кажется, что из-за каких-то ограничений DXF.

Напомни-ка, а в AutoCAD есть возможность делать виды как вот в ролике про Компас? То есть чтобы один кусок чертежа *на одной странице* был 1:1, а другой увеличен 5:1 и чтобы размеры для разных видов проставлялись в соотв. с их масштабом. А что произойдет, если это эеспортировать в DXF потом и прочесть назад? Он восстанавливает знание о масштабе? Есть AutoCAD под рукой?

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

Да, можно. В пространстве листа можно делать виды в пространство модели с произвольным масштабом и произвольными контурами. Размеры можно ставить как в пространстве модели, так и в пространстве листа. При простановке размеров в пространстве модели будут теже проблемы (при масштабировании в модели цифра пересчитается, лечится сменой стиля или вбиванием нужного масштаба в свойствах размера. при масштабировании в листе цифра останется, но изменится геометрия), при проставлении размеров в пространстве листа масштаб видового окна учитывается автоматом. Сохранение в dxf и повторное чтение ничего не теряет.

zamtmn ★★
()
Ответ на: комментарий от zamtmn

При простановке размеров в пространстве модели будут теже проблемы(при масштабировании в модели цифра пересчитается…

Чего? Если модель нарисована 1:1 то надо масштабировать саму геометрию размеров. Хотя лечится сменой размерного стиля на имеющий соответствующий масштаб, да.

при проставлении размеров в пространстве листа масштаб видового окна учитывается автоматом

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

fat_angel ★★★★★
()
Ответ на: комментарий от fat_angel

Чего? Если модель нарисована 1:1 то надо масштабировать саму геометрию размеров. Хотя лечится сменой размерного стиля на имеющий соответствующий масштаб, да.

Я это и имею ввиду.

Только если рамеры ассоциативные

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

Сейчас эти оба способа вроде как устарели и появился новый (емнип с автокада 2008) - аннотативность. Позволяет для разных масштабов получить разнве начертания не только размеров, но и текстов, блоков, наверно еще чегонибудь - я никогда не пользовался

zamtmn ★★
()
Ответ на: комментарий от zamtmn

Сейчас эти оба способа вроде как устарели и появился новый (емнип с автокада 2008) - аннотативность.

Да есть такое, появилась действительно в 2008-м. Но дюже глючная, если приходится скакать между оригинальным автокадом и его клонами, которые (смотрел в бриксе и draftsight) ничего не знают об этой аннотативности. Хотя задумка хорошая.

fat_angel ★★★★★
()
Ответ на: комментарий от Zubok

Но вот сколько лет существует QCAD (а он уже много лет чуществует), но этого нет. И мне кажется, что из-за каких-то ограничений DXF.

Я не понял чего нет в qcad`е, там по сравнению с автокадом есть очень мало((. Но dwg и dxf одинаковых версий - взаимо заменяемые форматы, можно писать и так и так, для стандартных примитивов потерь информации не будет

zamtmn ★★
()
Ответ на: комментарий от zamtmn

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

fat_angel ★★★★★
()
Ответ на: комментарий от fat_angel

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

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

zamtmn ★★
()
Ответ на: комментарий от zamtmn

Но свободным cad`ам - еще догонять и догонять((

И с этим, к сожалению, не поспоришь…

fat_angel ★★★★★
()

Что-то не получается у меня из dxf с проекциями сделать объемную деталь. Завис на элементарном: как из круга сделать объемный цилиндр (с торцами)? Заветной кнопочки «преобразовать в sketch» нет почему-то (версия 0.12.5284-8).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Я же написал версия собранная из исходников, поищите, у них вроде PPA была, 0.13 - точно

DR_SL ★★★★★
() автор топика
Ответ на: комментарий от DR_SL

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

Куда надо сохранять питоновский скрипт, чтобы freecad мог его выполнить? И что в консоли писать?

Например, у меня такой скрипт (ch.py):

import Part, FreeCAD
from FreeCAD import Base
def makeCH(r=3., h=10., cx=0., cy=0.):
	sel = FreeCADGui.Selection.getSelection()
	cyl = Part.makeCylinder(r, h, Base.Vector(cx,cy,0.))
	diff = sel.cut(cyl)
	return diff
Сохряняю его в ту же директорию, где находится открытый чертеж. Пишу в консоли ch() - фигвам:

NameError: name 'ch' is not defined

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

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

Ох и падучий этот freecad: 1-2 операции - и segfault или отказ выполнять операции, вроде

NameError: global name 'sys' is not defined

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Ох и падучий этот freecad: 1-2 операции - и segfault или отказ выполнять операции, вроде

Странно, к меня такого не было, спросите на форуме.... кстати там pycollada надо ещё поставить.

DR_SL ★★★★★
() автор топика
Ответ на: комментарий от DR_SL

Кое-как со скриптами разобрался (правда, параметры туда передавать нельзя - пришлось в шапке скрипта объявлять константы, которые потом каждый раз руками меняешь, но все равно быстрей, нежели вручную 100500 блоков расставлять безо всяких операций, вроде «перенос», «мультиплицирование» и т.п.).

Нарисовал-таки я каркас. Теперь - дело «за малым» - дорисовать все остальное…

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от DR_SL

Как дойду до остального - проверю. Хочу все по-человечески красиво нарисовать - мы же не хуже американцев каких-нибудь или японцев, у которых давным-давно в статьях цветные рисунки из 3D-моделей. А у нас - стыдоба, чуть ли не от руки эскизы рисуют.

В принципе, линзу нарисовать несложно: по центральной толщине вычисляем центры сфер, рисуем их, рисуем цилиндр - край линзы, строим пересечения. Главное - в питоне разобраться. А я в нем - полный 0.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Так аналогично)), Тут boz , демонстрировал наработки своего коллеги в трассировке лучей их бы в FreeCAD и полноценный optical workbench))

DR_SL ★★★★★
() автор топика
Ответ на: комментарий от DR_SL

Кстати, компанией из 2-3 человек можно свой свободный Zemax написать где-то так за год, а то и меньше - главное, часов по 6..8 в сутки на это время находить.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Угу, а то у нас им обучают только на 6 курсе, до этого ОПАЛ(показывали), меня виндузятники подстрекают, что я использую.... проприетарный софт и вообще.....

DR_SL ★★★★★
() автор топика

JB, подтверди, пожалуйста, скриншот.

Довольно много уже полезной информации накопилось в теме. Жалко будет, если пропадет…

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от DR_SL

За последние годы математический аппарат очень хорошо продвинулся - появилась уйма хороший свободных библиотек. Можно даже написать свободный софт для расчета тонкопленочных покрытий (фильтры, зеркала) - многомерные оптимизаторы вроде бы уже давно существуют. Тогда и Optilayer не надо было бы покупать…

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Посмотрим, для начало надо , мне будет запустить тот код)

Если интересно наткнулся на баг/фичтреккер LibreCAD. Надо поставить эксперимент и вынудить их оценить свою работу и собрать денег на кикстартере или так на сценарирование.

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

А так как нибудь ещё надо будет на ЛОРе про openPLM

DR_SL ★★★★★
() автор топика
Ответ на: комментарий от DR_SL

Сумбурное сообщение......

За последние годы математический аппарат очень хорошо продвинулся - появилась уйма хороший свободных библиотек.

А есть что-то специализированное по оптике?

Мне вот интересно , Maxima символьно может рассчитать свертку(двумерную - транспарант/плоскость)??

DR_SL ★★★★★
() автор топика
Ответ на: комментарий от Eddy_Em

Кое-как со скриптами разобрался (правда, параметры туда передавать нельзя - пришлось в шапке скрипта объявлять константы, которые потом каждый раз руками меняешь, но все равно быстрей, нежели вручную 100500 блоков расставлять безо всяких операций, вроде «перенос», «мультиплицирование» и т.п.).

Есть возможность скрипту морду быстро приделать и через нее параметры менять. Как-то можно, но я не пробовал. Вот ссылочка на такой скрипт с мордой (нужен PyQt):

http://sourceforge.net/apps/mediawiki/free-cad/index.php?title=Macro_ArrayCopy

Странно, что нельзя в скрипт параметры передать. Ты точно уверен? Я просто параметризованные не делал еще.

Zubok ★★★★★
()
Ответ на: комментарий от DR_SL

А есть что-то специализированное по оптике?

Не искал, так что не скажу наверняка. Я последнее время по программированию занимался лишь Гартманном. Там ничего подходящего не нашел - сам сидел выдумывал (правда, до конца еще не довыдумывал).

Maxima символьно может рассчитать свертку

Сомневаюсь. Но я символьными вычислениями не пользуюсь - мне численных методов хватает.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Zubok

нужен PyQt

До такого мазохизма я явно не опущусь ☺

Ты точно уверен?

Точно: скрипты запускаются «кнопочкой». А вот из консоли можно запускать свои сценарии, надо будет разобраться - как их подключать.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от DR_SL

Вот оно что!

Я такого нигде в документации не нашел. Попробую завтра.

Eddy_Em ☆☆☆☆☆
()

В качестве альтернативы либрекаду для 2д рисования могу предложить свое творение http://sourceforge.net/projects/zcad Альтернатива конечно громко сказано)). примитивов почти нет, типов линий нет... но есть трассировка и простенький dxf можно набросать быстрее чем в либрекаде (это я за свою манеру черчения говорю)

zamtmn ★★
()
Ответ на: комментарий от Eddy_Em

Точно: скрипты запускаются «кнопочкой». А вот из консоли можно запускать свои сценарии, надо будет разобраться - как их подключать.

А-а-а, я думал, ты имеешь в виду, что даже из консоли нельзя с параметрами. Мне это и показалось странным. Но у меня просто не было таких скриптов и сейчас проверять не брошусь. У меня скрипты с кнопочки без параметров.

Zubok ★★★★★
()
Ответ на: комментарий от DR_SL

3Д «для галочки» есть, но 3д тел и соответственно операций с ними нет((. Из создателей русский я. других нет))

zamtmn ★★
()
Ответ на: комментарий от zamtmn

О! А тут ещё помню чел был он на лиспе писал свой CADD.....

Посмотрим, спасибо!

P.S. Провокационный вопрос: А вам интересно было бы, допиливать какую-нибудь фичу LibreCAD, или всё же свой CAD, архитектурно лучше и быстрее?

DR_SL ★★★★★
() автор топика
Ответ на: комментарий от DR_SL

Свой интересней, хотябы потому что си я не умею.

zamtmn ★★
()
Ответ на: комментарий от DR_SL

О! А тут ещё помню чел был он на лиспе писал свой CADD.....

Тут их два было. bioreactor и я:

Изучаем Common-Lisp

Изучаем Common-Lisp (комментарий)

Я свой забросил пока, но вообще это дело интересное. Я пока еще заряжен оптимизмом. :)

А вот про то, что сделал bioreactor, что-то не слышно. подозреваю, что он тоже забросил.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

Тем не менее задам, тот же вопрос,

P.S. Провокационный вопрос: А вам интересно было бы, допиливать какую-нибудь фичу LibreCAD, или всё же свой CAD, архитектурно лучше и быстрее?

а также предлагаю список хотелок, которые мог бы осуществить проект LibreCAD ,если бы его включили в GSoC

DR_SL ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.