LINUX.ORG.RU

Велокадный спорт

 ,


1

5

В продолжение моих прошлых скриншотов. ZCAD — самодельный кад, написанный на паскале.

За последнее время запилил некоторые размерные примитивы, улучшил инспетор объектов — теперь уже можно рисовать детские чертежики))

На скрине дефолтная кубунта, lazarus и zcad

>>> Просмотр (2560x1440, 977 Kb)

★★

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

Софт хороший продолжай в том же духе, может вскоре будет популярен. Хороших аналогов CAD систем под Linux я знаю немного.

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

Эти «хорошие» баги сильно жизнь усложняют? С ними жить можно? Кстати, это только в последних версиях у Lazarus-а все окна в одно, а не так что форма в одном, панель инструментов в другом, сообщения в третьем? У меня 1.0.12, все разделено по окнам.

xterro ★★★★★
()
Последнее исправление: xterro (всего исправлений: 1)
Ответ на: комментарий от svsd_val

Со своей головой дружу, а вот ты нет, давай сравним мою поделку на питоне аля просто вывод в консоле «Hello world» с zBrush ???

У тебя все сводится к: «я-я», давай сравним «мою» поделку. Это все от того, что ты мудак с завышенным ЧСВ.

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

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

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

Если ты - бомж и не знаешь понятие «индустрия», то это не мои проблемы. И, кстати, его мы не возьмем т.к он не «подсебя».

По удобству Blender в разы превосходит zBrush который нервно курит в сторонке....

Вся суть в этих точках, которые ты налепил в конце предложения.

А то что твой хвалёный торрент был создан какраз на питоне у тебя из головы вылетело ?? Хотя если голово-опой это и не удивительно =) Не веришь мне гугл с вики в помощь - школота )))

Это протокол был создан на питоне? Ну ты и дура, деточка. Прототип мог быть сделан хоть на баше, а купили они в итоге uTorrent - пользователь сказал свое слово, это тот самый пользователь, которого ты считаешь идиотом.

У меня нет задачи такой, а вот моему начальству насрать как и на чём я приеду на работу. Хоть на жопе.

Именно на жопе, в твоем случае верно.

Я не буду снисходить до низшей формы разновидности человека ... В данный момент в которой ты и находишься.
Подведём итоги. Что мы видим перед нами.
P.S. Мог бы продолжать... да не буду снисходить до низшей формы разновидности человека. Т.к. данный представитель школоты, не заслуживает внимания. Дальнейшие его посты буду игнорить, как об этом сказано в правилах...

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

G0D
()
Ответ на: комментарий от slackwarrior

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

G0D
()
Ответ на: комментарий от xterro

Да, осложняют - вылеты при работе с инспектором объектов, но потыкать - посмотреть вполне можно.

Докинг в лазаре есть давно, правда кривоватый)) нужно поставить пакет AnchorDockingDsgn и пересобрать лазаря

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

Фич реквест

Хочу электротехническую чертилку/плагин, а то с этим вобще плохо.

Tverskoy
()
Ответ на: комментарий от G0D

У тебя все сводится к: «я-я», давай сравним «мою» поделку. Это все от того, что ты мудак с завышенным ЧСВ.

Да я смотрю у тебя памяти меньше чем у курицы. Дерьмо обезьянье. Скажи что не ты писал:

Я посмотрю на тебя, как твоя поделка на пистоне будет конкурировать с таким ПО, как zBrush.

На что я тебе и сказал давай сравним мою поделку на питоне аля hello world с zbrush. Так что иди нюхай дерьмо своё обезьяна.

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

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

И да спасибо что рассмешил меня =)

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

Я выше писал - надо поставить пакет AnchorDockingDsgn (это lpk файл в папке components), пересобрать , настроить удобную раскладку окон и сохранить ее как «поумолчанию»

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

Как то он теперь непривычно смотрится, и не сохраняет параметры размещения панелей внутри окна(настроил их размеры, убрал заголовки у них, перезапустил, но без результата, как по дефолту :( ). http://hkar.ru/pY6v

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

После настройки tools\save windows layout as default

Единственное, пока не сохраняется разбивка табами, все остальные параметры сохраняются

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

а почему не вложить свои силы и время в разработку уже существующих проектов?

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

Я начинал очень давно, об уже существующих проектах тогда ничего не знал, линукс не видел, С не любил и не умел

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

дык можно сейчас велосипеды не городить, а с приобретённым опытом и силами вступить в готовый проект и повышать планку качества свободных САПР.

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

Раз уж я тут вопросы задаю, можно задам один вопросик конкретно по программированию? Есть форма, на ней лежит PaintBox, на котором я рисую. Создал в отдельном модуле класс(TLine) и пытаюсь значит эту линию отрисовать. В коде это выглядит так:

unit Primitives;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, Graphics;


type
    { Base class for all primitives }
    TPrimitive = class
    protected
        FColor : TColor;
        FFillColor: TColor;
    public
        procedure Draw(Canvas : TCanvas); virtual abstract;
        procedure Rotate(angle : Integer); virtual abstract;
        procedure Move(dx:Integer; dy:Integer); virtual abstract;

        function HitTest(Point : TPoint) : Boolean; virtual abstract;

        property Color : TColor read FColor write FColor;
        property FillColor : TColor read FFillColor write FFillColor;
    end;

    { TLine }
    TLine = class(TPrimitive)
    private
        BPoint : TPoint;
        EPoint : TPoint;
        FThickness : Integer;
    public
        constructor Create(BeginPoint : TPoint; EndPoint : TPoint);
        procedure Draw(Canvas : TCanvas);
        procedure Rotate(angle : Integer; relativePoint : TPoint);
        procedure Move(dx:Integer; dy:Integer);

        function HitTest(Point : TPoint) : Boolean;

        property BeginPoint : TPoint read BPoint write BPoint;
        property EndPoint : TPoint read EPoint write EPoint;
        property Thickness : Integer read FThickness write FThickness;
    end;

implementation


constructor TLine.Create(BeginPoint : TPoint; EndPoint : TPoint);
begin
    Inherited Create();
    BPoint := BeginPoint;
    EPoint := EndPoint;
    FColor := clBlack;
    FThickness := 1;
end;

procedure TLine.Draw(Canvas : TCanvas);
begin
     if Assigned(Canvas) then begin
        Canvas.Pen.Color := FColor;
        Canvas.Pen.Width := FThickness;
        Canvas.Line(BPoint, EPoint);
    end;
end;                                    

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

procedure TForm1.DrawLineMenuItemClick(Sender: TObject);
var
   Line : TLine;
   a, b : TPoint;
begin
     a.X := 10; a.Y := 10;
     b.X := 100; b.Y := 100;
     Line := TLine.Create(a, b);
     Line.Thickness := 5;
     Line.Color := clRed;
     LineList.Add(Line);

end;

Проблема в том, что здесь я задаю свойства линии(цвет и толщину) и эти изменения отображаются не только на линии, но и на остальных рисульках канвы. Например при отрисовке, я перед отрисовкой линии, рисую ещё сетку(PrepareCanvas), так вот, цвет и толщина линии применяются и к ней. Я так понимаю, что при отрисовке линии, мне нужно сохранять состояние контекста, а потом его восстанавливать. Есть ли для этого какая-нибудь функция, или нужно всё вручную делать? Типа, перед рисованием в TLine.Draw сохранять у канвы толщину пера и цвет, рисовать, а потом устанавливать старое значение.

Обработчик события Paint:

procedure TForm1.PaintBoxPaint(Sender: TObject);
var
   p : Pointer;
begin
     PrepareCanvas(true);
     for p in LineList do begin
         TLine(p).Draw(PaintBox.Canvas);
     end;
end;                                                       

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

В TLine.Draw сохраняй исходные Canvas.Pen.Color и Canvas.Pen.Width либо настраивай каждый раз нужные параметры, чтобы настройки предидуших примитивов не влияли на вновь рисуемые

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

Спасибо, я пожалуй еще на зкаде потренеруюсь))

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

>> «для профита».

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

Омерзительно.

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

Хобби должно быть приятным))

ОМГ, мне жаль тебя, сейчас переписываю проект делфи плююсь невозможно как.

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

Я не свой переписываю, я бы не стал писать на языке, конструкция которого имеет хоть что-то общее с паскалем, а уж тем более если это зонд в виде delphi.
Я понимаю людей, фапающих на яыки с нестандартными синтаксическими конструкциями, типа пролога, например, или лиспа. Но выбрать паскаль с его избыточным нечитабельным синтаксисом и ограниченным функционалам это как минимум некомпетенстность. Это уже не хобби, а фетиш.

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

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

Но выбрать паскаль с его избыточным нечитабельным синтаксисом и ограниченным функционалам это как минимум некомпетенстность

Некомпетентность это говорить про ограниченность паскаля, темболее про нечитабельность

Твердотельного моделирования у меня нет и непланируется, а на задачах более специфичных для чертилок - т.е. работать с большими чертежами зкад в разы быстрее последнего компьюнити qcad`а и темболее librecad`а написаных на всеми любимом не «ограниченом» и таком читабельном))

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

темболее про нечитабельность

Т.е. по твоему громоздкая конструкция из несколько вложенных begin/end читабельна???? Все, вопросов к тебе нет.

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

Паскаль это не только begin/end.

Читабельность чего либо это проблемы конкретного читателя. Такчто не стоит пытаться выдать свое мнение за общепризнаное

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

Читабельность чего либо это проблемы конкретного читателя

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

Такчто не стоит пытаться выдать свое мнение за общепризнаное

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

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

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

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

У паскаля нет проблем с читабельностью. Да, это не популярный язык, но совсем по другим причинам. Возможно одна из них - наличие форумных крикунов о нечитабельности и ограниченности))

капаться в нечитабельном коде

причем этот нечитаемый код чаще всего написан на си)). Часто месным програмистам приходится копаться в нечитаемом коде на паскале?

Мое мнение

Отлично что у тебя есть мнение. У меня тоже есть, но я тебе его не навязываю

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

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

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

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

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

Можно было. А можно и не было.

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

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

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

Вообщето про велолсипед - это моя ирония))

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

Возможно одна из них - наличие форумных крикунов о нечитабельности и ограниченности))

Не путай причину и следствие. Не считай себя умнее других. Общество сделало выбор не в пользу паскаля. Причины я описал выше, если они для тебя не очевидны.

причем этот нечитаемый код чаще всего написан на си))

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

Часто месным програмистам приходится копаться в нечитаемом коде на паскале?

Часто местные программисты видят код на паскале? Я отвечу за тебя : нет.

У меня тоже есть, но я тебе его не навязываю

Я, кстати тоже, и до последнего держал его при себе.

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

Я, кстати тоже, и до последнего держал его при себе.

ты озвучил его в первом посте)) Но забыл упомянуть, что это мнение о конкретно твоем, переписываемом проекте и распространил его на весь язык.

Часто местные программисты видят код на паскале? Я отвечу за тебя : нет.

Говнокода хватает везде. Даже больше, zcad зговнокоден весь, с парой просветвлений)) но это мои проблемы, а не паскаля

Не надо стрелки переводить плз. Синтаксис С куда компактнее и лаконичнее паскалевкого.

И? я не спорю что лаконичней, но не читаемей и «неограниченей»

паскаль тут в проигрыше де-факто.

Паскаль в проиграше у тебя в голове... а по факту что си что паскаль, разница только в восприятии и наличии поддержки «со стороны»

Не путай причину и следствие. Не считай себя умнее других. Общество сделало выбор не в пользу паскаля. Причины я описал выше, если они для тебя не очевидны.

begin\end - это смешно. Есть еще чтото о чем ты забыл упомянуть? Я не считаю себя умнее других, я просто пишу на том что мне нравится и делаю что мне нравится

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

ты озвучил его в первом посте)

Если вдруг ты забыл:

ОМГ, мне жаль тебя, сейчас переписываю проект делфи плююсь невозможно как.

И где же ?

но не читаемей и «неограниченей»

Ок, пусть будет так

а по факту что си что паскаль, разница только в восприятии и наличии поддержки «со стороны»

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

begin\end - это смешно.

Да не очень. Еще раз повторюсь, громоздкость конструкций очень сильно понижает читабельность кода и его восприятие. Со всеми отсюда последствиями.

Есть еще чтото о чем ты забыл упомянуть?

http://www.lysator.liu.se/c/bwk-on-pascal.html

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

http://www.lysator.liu.se/c/bwk-on-pascal.html

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

Перечень оставшихся в современных реализациях паскалей ограничений из упомянутых в статье, предлагается уточнить самостоятельно. У меня в указанном перечне получилось только два пункта «begin end» vs. «{ }» и отсутствие ";" перед else. Действительно ли дело только в этих «недостатках»?

bormant ★★★★★
()
Последнее исправление: bormant (всего исправлений: 2)
Ответ на: комментарий от bormant

это же ЛОР, а ЛОР всё ещё ТОРТ! в посте в разделе «Галерея» разосрали на тему сравнения ЯП, причем с обсиранием паскаля...

автор, пиши свой код, пиши! Жаст фо фан никто не отменял, а процент неадекватов на ЛОРе зашкаливает даже по меркам Рашки

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

http://www.lysator.liu.se/c/bwk-on-pascal.html

Статья старше некоторых лоровцев похоже)) с тех пор много воды утекло... Кроме begin\end «серъезных» претензий нет

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

За вычитом крикунов «паскаль-говно» от которых собственно и толку никакого паскаль вполне адекватно воспринимается. Я не пишу на нем оси и прочие драйверы - для хоббийного написания САПРа fpc вполне хороший вариант, что бы ты об этом не думал))

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

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

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