Я ищу векторное программное обеспечение, такое как Illustrator, которое будет иметь своего рода консоль, позволяющую настраивать числовые параметры привязки, а также делать такие вещи, как «называть сегменты и привязки», «заставлять две привязки быть идентичными или симметричными по отношению к точке или ось, поэтому каждое изменение, которое будет сделано для одной, будет автоматически вставлено в другую», «переместите привязку A так, чтобы расстояние от A до другой привязки B на оси C было равно x».
Такие вещи. Есть ли плагин, который делает это, или вам нужно новое программное обеспечение?
Хорошо, теперь потерпите меня, но есть такая категория программ: САПР. Так что это зависит от ваших потребностей в сложности, которые вам могут понадобиться, чтобы правильно выбрать вещи. Мало того, что программное обеспечение CAD может сделать это, они делают это из коробки, в графическом интерфейсе без особых проблем.
Они действительно стоят денег жестко. Решатели геометрических зависимостей — довольно распространенные инженерные инструменты.
Анимация 1 : простая демонстрация, показывающая геометрический решатель в действии (рассматриваемое приложение — Creo)
Я играл и медленно создавал один такой решатель для иллюстратора, но объектная модель иллюстратора немного ограничительна.
Вы также можете создавать сценарии в большинстве графических приложений. Хорошим местом для начала может быть этот пост о сценариях для иллюстраторов и генерации eps/svg .
Формат SVG основан на тексте. Файлы SVG можно редактировать с помощью блокнота. Двоичные (растровые) данные имеют base-64 (насколько мне известно).
https://developer.mozilla.org/en-US/docs/Web/SVG
Кроме того, Illustrator поддерживает сценарии и теоретически может быть настроен для обработки таких параметров.
Обработка позволяет это сделать. И вы можете экспортировать работу в векторный файл.
Для использования в механических мастерских существует широкий спектр MCAD, которые могут легко это сделать: SolidWorks, Inventor, Alibre, Solidedge и его старшие братья UGNX, Catia, ProE ... и т. д.
Для Интернета я использовал inkscape (www.inkscape.org) плюс javascript (включая скрипты Jquery) для управления графикой на основе SVG.
Этот вопрос на самом деле довольно широкий. Можете ли вы управлять векторными иллюстрациями программно? Да. Это на самом деле то, что делает программное обеспечение для векторной иллюстрации. Он просто также добавляет графический интерфейс для взаимодействия пользователя с ним.
Я думаю, вы, возможно, спрашиваете больше о пользовательском интерфейсе командной строки. Как уже говорилось, большинство программ САПР имеют это в качестве опции. Частично как наследие тех времен, когда командная строка была ценным инструментом из-за ограничений графического интерфейса.
Кроме того, для многих программ можно создавать сценарии из командной строки и/или кода. Например, Inkscape, пакет программного обеспечения для создания векторных иллюстраций, можно полностью написать с помощью Python: http://wiki.inkscape.org/wiki/index.php/Tips_For_Python_Script_Extensions
Вы также можете написать SVG или Postscript и тому подобное в текстовом редакторе, если хотите. Вы можете использовать ряд программных продуктов, чтобы затем создать свой собственный код, который будет напрямую манипулировать файлами.
На ум приходят две вещи:
Geogebra — это программное обеспечение для математических построений и тому подобного, и оно может делать то, что вы хотите, хотя оно больше направлено на изучение геометрии и математики, чем на создание красивой графики.
TikZ — это пакет для LaTeX, который позволяет вам кодировать диаграммы и тому подобное, а также должен иметь возможность делать все, что вы хотите. Он очень мощный, но полностью основан на исходном коде (поэтому нет Wysiwyg), и к нему может быть трудно привыкнуть.
Хотя они сильно отличаются от ваших обычных графических программ, они бесплатны, и поэтому вам ничего не стоит, кроме времени, попробовать их и понять, удовлетворяют ли они ваши потребности.
Я думаю, что Microsoft Expression Blend позволяет вам это сделать. Вы также можете сделать это программно, напрямую используя язык Microsoft XAML.
DA01