Возможно, вам уже ранее попадались мои заметки по первым шагам в программировании САПР на примере NanoCAD.
Надо отметить, что для человека не умеющего программировать и знающего САПР на уровне «электронного кульмана» это было удивительное приключение. Однако, NanoCAD это все же в первую очередь коммерческий продукт. Его бесплатная версия не обновлялась, уже около шести лет и порядком устарела в плане возможностей для разработки.
А ведь так хотелось, чтобы как в одной замечательной повести: «Счастье для всех, даром, и пусть никто не уйдёт обиженный!» . Поэтому было принято решение, внять совету боевого товарища DrZugrik и установить себе FreeCAD.
Итак, по горячим следам пишу для вас материал, всего за один день я узнал, как подружить эту САПР с Anaconda, написал на Python простенький скрипт, который рисует квадратик с текстом и протестировал его на работоспособность в Windows и Linux. О чем я собственно готов вам по шагам рассказать и показать, чтобы вы тоже могли это сделать.
Моделирование под 3D печать это просто
Хотите поближе познакомиться с очаровательной парочкой Python и FreeCAD? Тогда милости прошу под кат.
Содержание:
Часть I: Введение
Как ни странно на «Хабре» совсем немного публикаций посвященных FreeCAD, хорошая статья вышла у Eddy_Em «Знакомьтесь: FreeCAD», и еще несколько работ, в которых герой нашей статьи упоминается вскользь.
Для начала буквально два слова о программе. Я не буду дублировать информацию с официального сайта, а просто широкими мазками опишу почему остановил свое внимание на этой САПР.
Итак, FreeCAD это система автоматизированного проектирования с открытым исходным кодом, заточенная в первую очередь на трехмерное параметрическое моделирование. На момент написания статьи последняя версия программы 0.18.3. Пусть вас не смущает, что значение номера релиза далеко от единицы. FreeCAD долго и активно разрабатывается и на текущий момент вполне функционален. Более того как я понимаю он уже давно, имеет определенную популярность у людей занимающихся 3D моделированием и печатью, особенно у идейных самоделкиных, интересующихся open source / open hardware и всяческим DIY.
Но если вдруг вы совсем не разбираетесь в трехмерном моделировании, то это не повод обойти FreeCAD стороной. Функционал САПР разбит по своеобразным модулям — верстакам (Workbench) среди которых есть и привычное 2D черчение, в том числе верстак для оформления рамок листов и даже верстак для реализация концепции BIM.
На самом деле, возможностей у программы «вагон и маленькая тележка», но сегодня мы попробуем сделать, что-нибудь совсем примитивное, только чтобы «разжечь аппетит».
Часть II: Стандартная установка и первая проба
FreeCAD доступен для всех трех распространенных операционных систем, но поскольку «Яблочной» техникой я обделен, то мы рассмотрим только варианты для Windows 10 и Linux Mint.
Как сделать 3Д модель из фотографии в FREECAD
Самый простой способ начать программировать для FreeCAD это скачать дистрибутив и установить его стандартным для операционной системы путем. В таком случае мы получим в свое распоряжение предустановленный с программой интерпретатор Python (на момент написания статьи Python версии 3.6.6).
Начать программировать для FreeCAD, пожалуй даже проще чем для NanoCAD или AutoCAD, просто откроем вкладку Вид -> Панель -> и включим консоль Python. Собственно, вот и все, можно смело программировать.
Но давайте сначала попробуем начертить, что-нибудь штатными средствами. Например, круг.
Обратите внимание на вывод консоли
Gui.activateWorkbench(«DraftWorkbench») >>> App.newDocument(«Безымянный») >>> App.setActiveDocument(«____________________») >>> App.ActiveDocument=App.getDocument(«____________________») >>> Gui.ActiveDocument=Gui.getDocument(«____________________») >>> Gui.activeDocument().activeView().viewDefaultOrientation() >>> import Draft >>> pl=FreeCAD.Placement() >>> pl.Rotation.Q=(0.0,0.0,1.5308084989341915e-17,1.0) >>> pl.Base=FreeCAD.Vector(-1.0610677003860474,-0.31207874417305,0.0) >>> circle = Draft.makeCircle(radius=0.8633861373365326,placement=pl,face=False,support=None) >>> Draft.autogroup(circle
FreeCAD ничего не прячет под капотом, все ключевые операции по отрисовке круга выведены в консоль. Можно хоть сейчас просто скопировать код и начертить второй круг, чуть правее.
Давайте попробуем ввести переменную и начертить еще круг, для чего скопируем вывод консоли и вставим его построчно внеся небольшую модификацию.
x=-1.0610677003860474 pl=FreeCAD.Placement() pl.Rotation.Q=(0.0,0.0,1.5308084989341915e-17,1.0) pl.Base=FreeCAD.Vector(x*5,-0.31207874417305,0.0) circle = Draft.makeCircle(radius=0.8633861373365326,placement=pl,face=False,support=None)
Как видите теперь круга стало два, причем, как и планировалось один правее на координату «х» базовой точки первого круга умноженную на 5.
Часть III: А теперь подружим FreeCad с «Анакондой»
Но возможности САПР не ограничиваются стандартным использование в качестве «кульмана». С помощью API, FreeCAD можно встроить в вашу собственную программу и использовать, как с графическим интерфейсом так и без, но этот вопрос мы рассмотрим как-нибудь в другой раз.
А пока, представим себе такую ситуацию, допустим вы увлекаетесь машинным обучением и анализом данных на Python и уже поставили себе дистрибутив Anaconda, тогда вы, наверное, сильно обрадуетесь узнав, что благодаря ребятам из conda-forge можно скомпоновать все возможности этого дистрибутива и FreeCAD.
По ссылке представлено руководство, как установить его в случае если вы используете mini-conda, а мы с вами установим его в полноценную «Анаконду» через её навигатор.
Итак, откроем Anaconda-Navigator, перейдём на вкладку Environments и создадим новое окружение, нажав на кнопку Create. Название окружению, можно дать любое, я назвал – «freecad». Выбираем нужную версию Python и создаём новое окружение.
Но этого еще недостаточно, необходимо добавить канал conda-forge, просто впечатайте в поле, которое появится после нажатия кнопки Add «conda-forge» и дайте системе обновить списки пакетов.
Почти готово теперь осталось установить сам FreeCAD
Нажимаем ЛКМ на названии пакета и выбираем какую версию хотим установить, как на картинке ниже (у меня правда уже установлен)
После томительного ожидания у вас будет полностью установлен дистрибутив FreeCad нужной версии останется его только запустить.
В самом простом случае без параметров запуска необходимо запустить консоль conda с нашим окружением, и запустить САПР одноимённой командой FreeCAD.
Откроется пустое окно FreeCAD в котором мы выберем верстак для двухмерного черчения.
Как видим, теперь версия Python совсем не та, что была при стандартной установке.
Создадим новый документ (Control+N) он нам пригодится для тестирования нашей мини библиотеки.
Часть IV: Пишем простенькую библиотеку
Библиотека наша будет примитивной. По сути, мы создадим команду, которая будет чертить прямоугольник, в который будет вписан произвольный текст, заданный пользователем.
Создаем файл (я свой назвал — «drawhabr.py») и пишем в него следующий код:
#Simple lib for test Python API in FreeCad #Tested on Python 3.7. and FreeCad 0.18.3 #Designed for article — https://habr.com/ru/post/464113/ import FreeCAD, FreeCADGui, Part, Draft class stamp: «This class creates a rectangle with text. Coordinates are set by entering into the console.» def __init__(self): self.view = FreeCADGui.ActiveDocument.ActiveView x=float(input(«set x point «)) y=float(input(«set y point «)) mtext=str(input(«input text «)) self.drawstamp(mtext, x , y ) FreeCAD.Console.PrintMessage(«rn Your object was successfully created») def drawstamp(self, mtext,x=0,y=0 ): «Method for placing a figure in model space.» if (mtext==»»): mtext=»Hello Habr!» point=FreeCAD.Placement(FreeCAD.Vector(x,y,0), FreeCAD.Rotation(0,0,0), FreeCAD.Vector(0,0,0)) text = Draft.makeText(mtext,point=FreeCAD.Vector(x+0.25,y+0.55,0.0)) fontsize = 1.0 textwidth=(len(mtext)*fontsize*0.6)+0.35 textheight=fontsize+0.5 text.ViewObject.FontSize = fontsize text.ViewObject.FontName = «Courier» rec = Draft.makeRectangle(length=textwidth,height=textheight,placement=point,face=False,support=None)
Или просто можете скопировать файл с GitHub
Код очень простой, но некоторые моменты думаю стоит пояснить.
import FreeCAD, FreeCADGui, Part, Draft
Импортируем необходимые библиотеки, после чего создаем класс.
Поскольку я еще не научился обрабатывать ввод мышкой, координаты для объекта и текст мы будем вводить напрямую в консоль с клавиатуры. Это реализуется стандартными методами Python. Потом в конструкторе класса вызываем нашу функцию (метод), которая будет это все чертить.
Из особенностей FreeCAD в конструкторе класса можно выделить две команды:
self.view = FreeCADGui.ActiveDocument.ActiveView FreeCAD.Console.PrintMessage(«rn Your object was successfully created»)
Первая выбирает нам пространство активной рабочей области, а вторая, после установки объекта напишет нам сообщение в самом низу окна программы (на серой полоске, не путать с консолью Python)
Код метода тоже интуитивно понятен.Но все же поясню для надежности.
def drawstamp(self, mtext,x=0,y=0 ): «Method for placing a figure in model space.» if (mtext==»»): mtext=»Hello Habr!»
Необходимо на тот случай, если пользователь введет пустую строку. Без этого в текст будет вписано слово Label а прямоугольник будет иметь некорректную длину.
point=FreeCAD.Placement(FreeCAD.Vector(x,y,0), FreeCAD.Rotation(0,0,0), FreeCAD.Vector(0,0,0))
Определим координаты базовой точки дня нашей рамки, обрамляющей текст.
Напомню, что данные берутся из ввода в консоль.
Обратите внимание, что мы работаем с трехмерной координатой вида FreeCAD.Vector(x,y,z), но в данном примере координатой Z можем пренебречь. Другие параметры связанные с вращением рамки пока не трогаем.
text = Draft.makeText(mtext,point=FreeCAD.Vector(x+0.25,y+0.55,0.0))
создадим текст, командой Draft.makeText, передав ей текст, который ввели в консоль.
Координаты возьмем с небольшим смещением от базовой точки рамки.
По-хорошему надо было научиться обрабатывать рамку (границу) текста используя параметры API, после чего на основании нее рассчитывать ширину и высоту нашей обрамляющей рамки. Но поскольку я сам только-только познакомился с программой, то задачу решил рабоче-крестьянским методом. Мы зафиксируем высоту шрифта, назначим ему стиль моноширинного шрифта (Courier) и в зависимости от этого определим длину и ширину рамки которую будем чертит вокруг текста.
text = Draft.makeText(mtext,point=FreeCAD.Vector(x+0.25,y+0.55,0.0)) fontsize = 1.0 textwidth=(len(mtext)*fontsize*0.6)+0.35 textheight=fontsize+0.5 text.ViewObject.FontSize = fontsize text.ViewObject.FontName = «Courier»
Осталось только подставить наши параметры в функции черчения прямоугольника
rec = Draft.makeRectangle(length=textwidth,height=textheight,placement=point,face=False,support=None)
вот, собственно, и все.
Осталось только подключить нашу библиотеку. Для этого её можно просто скопировать в папку, в которой лежат остальные библиотеки Python для выбранного окружения.
Например, для Windows 10 путь может быть следующим (в значимости от места установки Anaconda):
Для Linux путь будет примерно таким:
Все осталось загрузить нашу библиотеку.
Для этого вначале введем в консоли название нашего модуля (без расширения файла)
import drawhabr
А затем вызовем конструктор класса
drawhabr.stamp()
Вот и все осталось вести, параметры функции и наслаждаться результатом.
На всякий случай вот скриншот подтверждающий, что в Linux тоже все работает.
Часть V: Заключение
Сегодня мы вместе сделали только маленький шаг на пути познания API FreeCAD.
Несмотря на то, что на мой взгляд, для двухмерного черчения и разработки проектов, FreeCAD не так привычен как AutoCAD (NanoCAD) или другие распространенные САПР, но зато программировать его намного проще.
Даже несмотря на некоторый недостаток документации и необходимость обновления некоторых статей с примерами в Wiki FreeCAD, все равно разобраться с его API и запустить первую программу оказалось вполне по силу неподготовленному человеку с минимальными знаниями в области написания кода на Python.
А учитывая, тот факт, что разработчики люди не жадные и при необходимости позволяют даже коммерческую разработку с помощью FreeCAD по лицензии LGPL да в сочетании со всей мощностью подключаемых библиотек Python (например, из того же дистрибутива Anaconda), разработка программ с использованием FreeCAD выглядит интересной задачей.
Если я пойму, что и вам эта тема интересна, то постараюсь сделать мини-цикл заметок по аналогии с Nanocad
Цикл статей по программированию NanoCAD
- «Лицо без шрама» или первые шаги в Multicad.NET API 7 (для Nanocad 8.1)
- «Как баран на новые ворота» или пользовательские «псевдо-3D» объекты в NanoCAD с помощью MultiCAD.NET API
- «Я слежу за тобой» или как из CADa сделать SCADA (MultiCAD.NET API)
- «Истина в вине» или пробуем программировать NanoCAD под Linux (MultiCAD.NET API)
- «Здравствуй елка — Новый Год!» или программируем NanoCAD с помощью Visual Basic .NET
- «…Желают знать, что будет» или пишем гадальный шар в САПР NanoCAD на C# (MultiCAD .NET API)
Источник: habr.com
Пишем свой САПР
В данной теме обсуждаем создание совместного САПРа.
А также всё связанное с существующими САПрами. Их недостатки и преимущества.
Пока предлагаю написать САПР по созданию кабельной сети. Включая все необходимые расчёты.
Какие есть предложения? Кто хочет поучаствовать?
Регистрация: 26.02.2009
Адрес: г. Минск
Сообщений: 150
Поблагодарил: 2 раз(а)
Поблагодарили 12 раз(а)
Фотоальбомы: 0
Репутация: 114
Были у меня такие идейки. Только представить себе: вводишь путевое развитие, расположение объектов, ординаты, остальные параметры — и она рисует тебе готовый кабельный план со всеми рассчётами. Было бы супер, однако это — трудоёмкая и сложная работа, которая потребует немало усилий и времени.
Я готов поучаствовать)
Что умею: программирование в Visual C++ с использованием MFC на уровне чайника) Но собираюсь повышать свои знания.
Можно начать с простой программки, которая будет считать длины кабелей и жильность по нарисованному кабельному плану. После уже можно заняться тем, чтобы прога сама рисовала план по введённой «однонитке». Ведь второе не так уж просто, так как надо вдолбить программе много мельчайших подробностей.
__________________
С уважением, Ivan.
Регистрация: 01.04.2009
Сообщений: 993
Поблагодарил: 63 раз(а)
Поблагодарили 213 раз(а)
Фотоальбомы: 0
Репутация: 79
вводишь путевое развитие, расположение объектов, ординаты, остальные параметры — и она рисует тебе готовый кабельный план со всеми рассчётами |
Так делают большинство программ. Я же думаю стоит пропустить шаг рисования путевого развития (но не исключить рисование его в будующем). Бывает такое что нужно только каб сеть сделать, или доделать существующую.
Представляю себе программу так: рисуем в AutoCAD или Visio (определимся чуть позже) из готовых блоков схематично каб сеть стрелок, сигналов, и т.д. Все необходимые расчеты можно сделать либо в отдельно написанной программе либо в Exel. Самое главное это то что программа должна быть написана с толковой справкой и обучение в ней должно происходить самостоятельно в кратчайшие сроки.
Регистрация: 26.02.2009
Адрес: г. Минск
Сообщений: 150
Поблагодарил: 2 раз(а)
Поблагодарили 12 раз(а)
Фотоальбомы: 0
Репутация: 114
рисуем в AutoCAD или Visio
— тогда надо разбираться в формате файлов AutoCAD или Visio. Проще сделать редактор в самой программе. из типовых блоков в ней набирается кабельный план, а потом она производит расчёт длин, жильности, рисует диаграммы лучей и примерный вид трассы кабеля. Только тогда придётся вручную вводить число пересакаемых путей для каждого кабеля.
__________________
С уважением, Ivan.
Регистрация: 01.04.2009
Сообщений: 993
Поблагодарил: 63 раз(а)
Поблагодарили 213 раз(а)
Фотоальбомы: 0
Репутация: 79
В пользу AutoCAD думаю можно отнести возможность вставлять съемку в файл. DCL думаю не стоит привлекать. Можно Lisp, а можно и любой другой язык прикрутить. В пользу удобств думаю можно попробовать динамические блоки. Также есть возможность вставлять таблицы Exel прямо в чертеж (но они там немного ограничены), но вполне можно связать с реальной таблицей Exel.
Например пробовал связать AutoCADовский чертеж с Exel для подсчета количества приборов на комплектации. В файле Exel вбиты все возможные приборы, рамкой на чертеже выбираются комплектации и в полученной таблице уже все посчитано.
Регистрация: 09.04.2009
Сообщений: 1,942
Поблагодарил: 11 раз(а)
Поблагодарили 150 раз(а)
Фотоальбомы: 3
Репутация: 107
Чтож. Для начала нужно грамотно сформировать ТЗ. А на чем писать — это вопрос десятый.
Ivan, в фомате файлов Autocad разбираться не нужно, dxf — весьма универсален.
Если писать навесок на Акад, то тем, кто знаком с Си желательно поразбтраться с ObjectARX.
Регистрация: 01.04.2009
Сообщений: 993
Поблагодарил: 63 раз(а)
Поблагодарили 213 раз(а)
Фотоальбомы: 0
Репутация: 79
полностью согласен с Avton.
Регистрация: 01.04.2009
Сообщений: 993
Поблагодарил: 63 раз(а)
Поблагодарили 213 раз(а)
Фотоальбомы: 0
Репутация: 79
Попробовал я АРМ ПТД. Вердикт — не удобно! Мне в плане удобства больше нравится b-cad. В способе набора принципиалок очень нравится как реализованно выбор реле.
Т.к. желающих смотрю каб сеть поубавилось, я тогда буду продолжать делать то что делал уже года 3-4, а именно динамические блоки. Только сейчас мысль сделать как в b-cad, но с возможностями динамических блоков. Задача сложная, но вполне реализуемая.
Регистрация: 25.03.2009
Сообщений: 21
Поблагодарил: 2 раз(а)
Поблагодарили 1 раз(а)
Фотоальбомы: 0
Репутация: 1
И я попробовал АРМ ПТД, по мне чудово! Особенно однонитка, никаких заморочек. Почти автомат! Жаль двухнитка в выложенной версии не работает.
Регистрация: 01.04.2009
Сообщений: 993
Поблагодарил: 63 раз(а)
Поблагодарили 213 раз(а)
Фотоальбомы: 0
Репутация: 79
Пока мне довелось поработать в АРМ ПТД, КСА ТЛП ЭЦ, B-CAD. По идее они все должны уметь все делать, но полностью автоматизировать процесс проектирования нельзя, у всех этих программ получилось это сделать в разной степени. У АРМ ПТД достаточно не удобный интерфейс, коряво вычерчено и неудобно. Если захочется сделать что-то по мелочи то это скорее всего только через разработчика.
Вот например со штампами я так и не разобрался, возможно ли там сделать другой штамп? Бывает что штамп нужен координально другой.
КСА ТЛП ЭЦ стоит сумасшедших денег. Умеет много, интегрирован в AutoCAD (стоимость растет). Но сделан он настолько неудобно насколько можно. Его писали еще во времена 14го када. Он по интерфейсу так и остался на том уровне. Блоки делал похоже вообще школьник — все криво и косо. По удобству самый лучший B-CAD. Но своя среда для черчения все таки его портит мне кажется.
Дело в том, что иногда нужно гораздо больше возможностей для чертежа, чем это может позволить редактор написанный только для СЦБ. Хочу вставить съемку, хочу часть чертежа спрятать на другой слой, хочу. хочу — а низя. AutoCAD тем и выиграл, что универсален и почти любое под него можно написать приложение.
Источник: scbist.com
Python-сообщество
- Начало
- » Python для новичков
- » Написание CAD программ
#1 Янв. 6, 2018 14:58:19
Написание CAD программ
Здравствуйте, уважаемые программисты!
С Новым Годом Вас и наступающим Рождеством! 🙂 Подскажите мне пожалуйста… Возможно ли написать на python программу-аналог AutoCAD, Inventor, Revit? Или нужны дополнительные какие-то языки? Я лишь только начинаю знакомиться с программированием и хотелось бы узнать ответ у профессионалов. На сколько это трудоемкий процесс (образно)?)))
#2 Янв. 6, 2018 15:35:13
Написание CAD программ
В Facebook на этот мой вопрос, адресованный “pythonworld.ru”, просто поставили “большой палец вниз” и нечего не ответили… Не скажите почему?
#3 Янв. 6, 2018 17:01:19
Написание CAD программ
olegipman
На сколько это трудоемкий процесс (образно)?
Где-то десяток профессионалов напишет за год что-то приемлемое, похожее на AutoCAD в его прошлом. И то они не будут на питоне это делать, потому что там нужно делать очень много вычислений в секунду и питон будет виснуть.
А один новичок не напишет ничего даже близко. Нужно много программистского опыта всякого, а опыт нарабатывается только через решение задач как учебных, так и реальных.
Ну представь, приходит мальчик, который строил только пещеру из подушек у себя в комнате, и спрашивает “а возможно построить небоскрёб из дерева?”. Шалаш он может ещё построить, а небоскрёб он не построит, даже если стеклобетон возьмёт. Не его уровень.
Отредактировано py.user.next (Янв. 6, 2018 17:03:26)
#4 Янв. 6, 2018 17:58:04
Написание CAD программ
Спасибо большое за ответ, py.user.next!
Наконец хоть кто-то ответил мне)
Конечно я это все понимаю, я просто хотел узнать масштабы и, так сказать, в каком направлении двигаться.
А какие языки для этого нужны?
Я хочу чтоб эта программа работала под Linux в первую очередь.
#5 Янв. 6, 2018 18:06:09
Написание CAD программ
#6 Янв. 6, 2018 18:09:43
Написание CAD программ
Спасибо, vic57
Знаком с этой программой. Собственно эти ребята меня и вдохновили, но я это немного не так вижу.
Но ещё раз спасибо)
#7 Янв. 6, 2018 18:14:55
Написание CAD программ
#8 Янв. 6, 2018 18:17:12
Написание CAD программ
#9 Янв. 6, 2018 18:33:11
Написание CAD программ
olegipman
Ваш энтузиазм понятен, но послушайте совета — забудьте вы про КАД. Это главная ошибка новичка, вы ставите перед собой нереальные цели, потому что считаете, что если вы хорошо разбираетесь в предметной области (т.е. уверенно владеете КАД-системами как пользователь), то значит вы знаете, как работает эта программа, как её написать с нуля и какими компетенциями надо обладать, чтобы её написать. Это очень наивный взгляд на вещи.
Периодически восторженная молодежь загорается идеей написать игру. Самую лучшую. Потому что думает, что знает как сделать самую лучшую игру. Пару тысяч мудаков, которые сделали плохую игру не знают, а он один знает. Пример из жизни.
Юноша атакует меня в почте настойчиво и долго. Юноша — большой ценитель Heroes of might and magic надумал делать форк третьих Героев с графоном, блэкджеком и шлюхами. Атакует меня вопросом, какой же графический движок по моему мнению следует для этого юзать. Из беседы ясное дело вытекает, что в программировании человек даже не новичок — он нуль.
Задаю вопрос: ну, предположим, движок у нас есть — что ты будешь дальше делать то? Как что? Игру, конечно! Ну хорошо, в Героев я сам играл, представляю что это. Вот, говорю, есть у нас карта. На карте дороги, препятствия, ландшафт.
Одна из первых задач, которую тебе надо будет решить — поиск пути на карте. Ты наводишь мышкой на место, и алгоритм определяет можно ли туда попасть и каким кратчайшим путем. Не понимает меня человек. Это же, говорит, видно безо всяких алгоритмов, куда можно попасть, а куда нет. В общем, не буду утомлять, долго мы беседовали. Даже карту с гексагональными ячейками рисовали.
Ну вот где-то на этом моменте энтузиазм у него пропал, да и сам он куда-то делся.
Это я к чему? К тому, что если вы взрослый человек, то должны себе отдавать отчет в том, что нельзя написать сложную программу без знаний и опыта. Вы, простите, какие-то книжки читали по теории алгоритмов? Может быть знакомы с аппаратной частью?
Знаете что-то про архитектуру компьютерных программ? “Я хочу чтоб эта программа работала под Linux в первую очередь.” Вы хорошо знаете ядро линукса? Системные вызовы? Особенности разных ДЕ и графических тулкитов? Судя по всему нет “Я лишь только начинаю знакомиться с программированием”. Сделайте хотя бы крестики-нолики для начала.
#10 Янв. 6, 2018 18:49:45
Написание CAD программ
Здравствуйте, FishHook! Я с Вами полностью согласен. Ваш пример с игрой я пошел уже давно, тоже хотел что сам создать)
Сейчас я думаю… ДУМАЮ… О создании команды, привлечении инвестиций и т.д. Прощупываю почву, так сказать. Я задаю такие вопросы чтоб понимать каких людей искать, с какими знаниями, кто это должен быть, сколько это может занять времени.
Я понимаю что это сложно, но так же понимаю что нет ничего не возможного и хочу понять на сколько это сложно и готов ли я это протянуть.
Источник: python.su