САПР на Lazarus

Планы, идеология, архитектура и т.п.

Модератор: Модераторы

Re: САПР на Lazarus

Сообщение скалогрыз » 30.07.2020 21:49:09

zub писал(а):Довольно странный выбор формата, если не секрет почему? станок?

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

Но чтобы толком с форматом разобраться, нужно понимать структуру, а значит уметь читать.
Поискав по github-у и sourceforge-у реализации на паскале, я нашёл только указанные выше. c libgfx связываться не хотелось (религия запрещает)

репа здесь.

нет возражений, если я floor-plan добавлю в примеры dxf файлов? (их в репе пока нет, но обязательно появятся)
скалогрыз
долгожитель
 
Сообщения: 1723
Зарегистрирован: 03.09.2008 02:36:48

Re: САПР на Lazarus

Сообщение zub » 30.07.2020 22:17:17

историю файла не помню,скорее всего шел с чемто опенсорсным в качестве примера. поэтому лучше не надо. Дайте ссылку на интересующий текстовый dxf я сконвертю его в бинарный
zub
долгожитель
 
Сообщения: 2591
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение скалогрыз » 31.07.2020 07:29:55

zub писал(а):Дайте ссылку на интересующий текстовый dxf я сконвертю его в бинарный

с zcad-ом идут примеры файлов.
два из них, например:
environment\runtimefiles\common\sample\entities.dxf
environment\runtimefiles\common\sample\zigzag.dxf
пожалуйста!
скалогрыз
долгожитель
 
Сообщения: 1723
Зарегистрирован: 03.09.2008 02:36:48

Re: САПР на Lazarus

Сообщение zub » 31.07.2020 10:05:55

Sharfik
Имхо до уровня простейшей рисовалки осталось не так много, но с другой стороны и времени свободного все меньше и меньше, последние пару лет зкад в этом направлении не двигается((

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

Пара замечаний из опыта:
Лучше сразу закладывать версионирование, dxfы различабтся по версиям автокада, самая большая разница 12<->2000 дальше меньше, но есть
Записать чисто програмно валидный dxf>=2000 нереально имхо, т.к. формат хорошо докумен только для чтения, лучше использовать пустой шаблон в который вписывать свои данные
Для проверок обязательно надо обзавестись автокадом. Клоны читают любую галематью не морщясь, автокад по любому чиху ругается и отказывается читать файл. Без проверок на автокаде, глядя только в спецификацию формата валидный файл (с точки зрения автокада, формат всетаки автодесковский) не записать
Вложения
dxfs.zip
(75.88 КБ) Скачиваний: 42
zub
долгожитель
 
Сообщения: 2591
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение Sharfik » 31.07.2020 16:39:05

zub, шкурный вопрос. А где почитать как арки по прописываемым в файле значениям строить?
Sharfik
энтузиаст
 
Сообщения: 540
Зарегистрирован: 20.07.2013 01:04:30

Re: САПР на Lazarus

Сообщение zub » 31.07.2020 16:44:57

имеется ввиду просто дуги или дуговые сегменты в полилиниях? у первых там центр, радиус и углы, у вторых точки вершин и так называемый "bulge"
zub
долгожитель
 
Сообщения: 2591
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение Sharfik » 31.07.2020 17:07:31

zub писал(а):имеется ввиду просто дуги или дуговые сегменты в полилиниях? у первых там центр, радиус и углы, у вторых точки вершин и так называемый "bulge"

Дуги просто. Я не очень понял про углы указываемые там.
Sharfik
энтузиаст
 
Сообщения: 540
Зарегистрирован: 20.07.2013 01:04:30

Re: САПР на Lazarus

Сообщение скалогрыз » 31.07.2020 19:20:05

zub писал(а):Для проверок обязательно надо обзавестись автокадом.

согласен.
я хотел скачать Trial, но там, внезапно, потребовалась регистрация... и забил.
скалогрыз
долгожитель
 
Сообщения: 1723
Зарегистрирован: 03.09.2008 02:36:48

Re: САПР на Lazarus

Сообщение Sharfik » 31.07.2020 19:28:41

скалогрыз писал(а):
zub писал(а):Для проверок обязательно надо обзавестись автокадом.

согласен.
я хотел скачать Trial, но там, внезапно, потребовалась регистрация... и забил.

DWG TrueView. Только не помню показывает ли он ошибки с номерами строк как autocad.
Sharfik
энтузиаст
 
Сообщения: 540
Зарегистрирован: 20.07.2013 01:04:30

Re: САПР на Lazarus

Сообщение zub » 31.07.2020 23:00:09

>>Дуги просто. Я не очень понял про углы указываемые там.
от центра дуги рисуем вектор длиной R в направлении (1,0) поворачиваем его на стартовый угол - это начало дуги. потом поворачиваем его до конечного угла, при этом вычерчивая дугу. Хз где читать про это, вроде все просто.
В случае 3Д автокад использует общий для всех "плоских" примитивов повернутых в 3Д Arbitrary Axis Algorithm http://docs.autodesk.com/ACD/2011/ENU/f ... 9-793d.htm - на основе вектора нормали расчитывается плоскость примитива
zub
долгожитель
 
Сообщения: 2591
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение Pavia » 31.07.2020 23:11:45

В SVG сделано так:
Изображение
Алгоритм по ссылке
https://www.w3.org/TR/SVG/paths.html#Pa ... rcCommands
Аватара пользователя
Pavia
постоялец
 
Сообщения: 274
Зарегистрирован: 07.01.2011 12:46:51

Re: САПР на Lazarus

Сообщение Sharfik » 05.08.2020 19:39:13

zub писал(а):>>Дуги просто. Я не очень понял про углы указываемые там.
от центра дуги рисуем вектор длиной R в направлении (1,0) поворачиваем его на стартовый угол - это начало дуги. потом поворачиваем его до конечного угла, при этом вычерчивая дугу. Хз где читать про это, вроде все просто.
В случае 3Д автокад использует общий для всех "плоских" примитивов повернутых в 3Д Arbitrary Axis Algorithm http://docs.autodesk.com/ACD/2011/ENU/f ... 9-793d.htm - на основе вектора нормали расчитывается плоскость примитива

понял что просто, но по тексту нарисовать картинку в голове не смог
Sharfik
энтузиаст
 
Сообщения: 540
Зарегистрирован: 20.07.2013 01:04:30

Пред.

Вернуться в Разработки на нашем сайте

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Рейтинг@Mail.ru
cron