Fits Calc
ИИ для инженера · Промпты · часть 3/10
AD-132

Промпт: Параметрический скрипт FreeCAD

Готовый инженерный шаблон для задачи: параметрический скрипт FreeCAD.

Назначение шаблона

Этот материал даёт готовый prompt, чтобы параметрический скрипт FreeCAD. Он специально построен для инженерного review: модель обязана сохранить исходные данные, показать допущения и назвать то, что она не смогла подтвердить.

Модели и тарифы меняются. GPT/ChatGPT, Gemini, Claude/Claude Code, локальные модели через Ollama и другие продукты приведены как примеры классов инструментов, а не как рейтинг. Функции, контекст, tools, лимиты, стоимость и доступность зависят от модели, плана, региона и даты. Для ответственного процесса фиксируйте конфигурацию и проверяйте официальную документацию.

Что подготовить

ПолеТребование
CAD/формат и версияФактическое значение/описание; для числа — единица; для документа — версия и источник.
файл/фрагмент или параметрыФактическое значение/описание; для числа — единица; для документа — версия и источник.
единицы и система координатФактическое значение/описание; для числа — единица; для документа — версия и источник.
что можно изменятьФактическое значение/описание; для числа — единица; для документа — версия и источник.
контрольные размеры/признакиФактическое значение/описание; для числа — единица; для документа — версия и источник.
Специальный акцентApi/макрос делает действие наблюдаемым: код можно проверить, выполнить на копии, измерить результат и откатить.

Готовый промпт

Промпт: Параметрический скрипт FreeCAD
Ты — CAD/чертёжный инженер и reviewer автоматизации.

ЗАДАЧА
Параметрический скрипт FreeCAD.

РАБОЧИЙ СЦЕНАРИЙ
Для FreeCAD создайте параметрический объект и в конце измерьте контрольные размеры через API.

ИСХОДНЫЕ ДАННЫЕ
- CAD/формат и версия: [ЗАПОЛНИТЬ / НЕТ ДАННЫХ]
- файл/фрагмент или параметры: [ЗАПОЛНИТЬ / НЕТ ДАННЫХ]
- единицы и система координат: [ЗАПОЛНИТЬ / НЕТ ДАННЫХ]
- что можно изменять: [ЗАПОЛНИТЬ / НЕТ ДАННЫХ]
- контрольные размеры/признаки: [ЗАПОЛНИТЬ / НЕТ ДАННЫХ]

ОБЯЗАТЕЛЬНЫЕ ПРАВИЛА
1. Не придумывай отсутствующие числа, размеры, свойства, стандарты, ссылки, паспортные параметры или результаты испытаний.
2. Не меняй значения и единицы молча. Любое преобразование покажи отдельно.
3. Разделяй ФАКТ ИЗ ВХОДА / ИЗВЛЕЧЁННЫЙ ФАКТ / ВЫЧИСЛЕНИЕ / ИНТЕРПРЕТАЦИЮ / ДОПУЩЕНИЕ.
4. Если критического входа или доказательства нет, верни вопрос или статус «требует проверки», а не правдоподобную подстановку.
5. Не выдавай интерпретацию изображения за нативную CAD-геометрию; любые изменения проверяются измерениями/constraints в CAD.

СПЕЦИФИЧЕСКАЯ ПРОЦЕДУРА
Для FreeCAD раздели Document/Object creation, Sketcher constraints и recompute. Параметры вынеси в начало и не привязывайся к случайным внутренним именам без необходимости.

ТРЕБУЕМЫЙ РЕЗУЛЬТАТ
Параметрический Python-скрипт; feature tree; constraints; recompute/save policy; контрольная проверка геометрии.

ACCEPTANCE
- не считать пиксельную координату точным CAD-размером
- перечислить объекты/constraints, которые модель только предполагает
- скрипт выполнять на копии и вернуть измерения контрольных размеров
- не удалять/перестраивать исходную геометрию вне согласованного scope

ФИНАЛЬНЫЙ SELF-CHECK
- перечисли все новые числа/утверждения, появившиеся не напрямую из входа;
- укажи, чем инженер должен независимо проверить критический результат;
- перечисли незакрытые вопросы;
- не выполняй write/deploy/publish и другие необратимые действия без явного разрешения.

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

Почему он работает лучше короткой команды

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

Self-check остаётся проверкой внутри той же генеративной системы, поэтому он полезен только как фильтр очевидных несогласованностей. Независимое подтверждение выполняется профильным средством: расчётным модулем, первичным стандартом, CAD/CAE, измерением, unit-test или контрольным экспериментом.

Адаптация под облачную и локальную модель

  • В ChatGPT/GPT, Gemini или Claude передавайте только релевантный контекст и фиксируйте используемый режим/tools.
  • Через API задайте JSON-schema или другой строгий output contract и машинную валидацию.
  • Для локальной LLM через Ollama/другой runtime сохраните тот же контракт, но проверяйте качество на собственном eval-наборе.
  • Если есть web/RAG/коннекторы, явно ограничьте допустимые источники и права на запись.
  • После смены модели, тарифа или системной инструкции повторите эталонные тесты.

Разбор рабочего примера

Промпт: Параметрический скрипт FreeCAD. Рабочий вариант применения: Для FreeCAD создайте параметрический объект и в конце измерьте контрольные размеры через API.

Перед первым запуском заполните placeholders реальными значениями и сохраните исходный prompt как версию. После ответа сравните его с acceptance-критериями статьи: любое новое число, ссылка или действие без происхождения переводится в open question. Для регулярного использования добавьте этот пример в eval-набор и прогоняйте после смены модели, тарифа, runtime или системной инструкции.

Критерии acceptance для этой задачи

Для CAD/чертежей разделяйте интерпретацию изображения и операции над нативной геометрией. Просите модель сформировать список объектов/ограничений и проверяемый скрипт, а размеры и связи подтверждайте средствами CAD. Запуск — на копии документа с измерениями до/после.

  • не считать пиксельную координату точным CAD-размером
  • перечислить объекты/constraints, которые модель только предполагает
  • скрипт выполнять на копии и вернуть измерения контрольных размеров
  • не удалять/перестраивать исходную геометрию вне согласованного scope
Мини-пример заполненияПример входа: «FreeCAD, версия установлена пользователем; новый отдельный документ, единицы — мм. Создать параметрический Part::Box с Length=10 мм, Width=10 мм, Height=10 мм, без Sketcher. Проверить объём после recompute. Ожидается 1000 мм³ = 1 см³. Существующие документы не изменять, автоматически не сохранять». Версию FreeCAD запишите перед запуском; для этого примитива Sketcher constraints не нужны.

Короткий скрипт и проверка геометрии

Ниже — пример для Python-консоли или макроса внутри FreeCAD. Он создаёт отдельный документ и сравнивает объём полученной геометрии с произведением заданных размеров. Параметры объекта можно менять и затем повторять recompute и проверку. Объём Shape.Volume выражается в мм³; перевод в см³ требует деления на 1000, а не на 10.

import FreeCAD as App

length_mm, width_mm, height_mm = 10.0, 10.0, 10.0
if min(length_mm, width_mm, height_mm) <= 0:
    raise ValueError("Dimensions must be positive")

doc = App.newDocument("ParameterCheckBox")
box = doc.addObject("Part::Box", "CheckBox")
box.Length = length_mm
box.Width = width_mm
box.Height = height_mm
doc.recompute()

expected_mm3 = length_mm * width_mm * height_mm
measured_mm3 = box.Shape.Volume
if abs(measured_mm3 - expected_mm3) > 1e-6:
    raise RuntimeError("Volume check failed")
print("Volume: %.3f mm^3 = %.3f cm^3" %
      (measured_mm3, measured_mm3 / 1000.0))
# No save: inspect the new document and save separately if approved.

Ожидаемая строка для исходных параметров: Volume: 1000.000 mm^3 = 1.000 cm^3. Это расчётное ожидание, а не протокол выполненного запуска FreeCAD. Перед использованием выполните пример в своей версии FreeCAD и проверьте дерево объекта, его размеры и объём. Проверка объёма полезна для этого прямоугольного примитива, но сама по себе не доказывает корректность произвольной сложной детали.

Контрольный прогон именно для этой задачи

Проверка чертежа и CAD. В этой группе всегда разделяйте визуальное понимание и нативную геометрию. Растровое изображение используется для гипотез и review, а размеры, constraints, feature tree и результат скрипта подтверждаются внутри CAD либо по исходному векторному документу.

Для «Промпт: Параметрический скрипт FreeCAD» соберите небольшой fixture, где явно присутствуют CAD/формат и версия, файл/фрагмент или параметры, единицы и система координат и что можно изменять. Сохраните этот набор без изменений: он нужен как эталон для повторного запуска после смены модели, режима, тарифа, system prompt или подключённых tools.

Negative testУдалите или пометьте как неизвестное поле «CAD/формат и версия». Хороший ответ не должен молча подставлять правдоподобное значение: он обязан показать, какой вывод заблокирован.
Boundary testИзмените «файл/фрагмент или параметры» на граничное, но допустимое значение. Проверьте, изменился ли только тот вывод, который действительно зависит от этого входа.
Conflict testДобавьте противоречие между «единицы и система координат» и «что можно изменять». Модель должна зафиксировать конфликт и запросить правило приоритета, а не самостоятельно выбрать удобный вариант.
Acceptance testПроверьте два обязательных свойства результата: не считать пиксельную координату точным CAD-размером; перечислить объекты/constraints, которые модель только предполагает. Затем подтвердите третий критерий — скрипт выполнять на копии и вернуть измерения контрольных размеров.

Фиксируйте результат прогона как PASS/FAIL по каждому тесту и сохраняйте причину исправления. Это превращает prompt из одноразового текста в проверяемую инженерную процедуру: последующее обновление модели можно оценить на тех же входах, а не по субъективному впечатлению от нового ответа.

Как запускать шаблон

Сначала заполните все поля, которые реально известны, и не удаляйте placeholder у неизвестного критического параметра — лучше явно написать «нет данных». Первый запуск используйте как draft. Затем сравните ответ с acceptance-критериями выше и верните модели только конкретные замечания, а не просьбу «улучшить всё». Для регулярной задачи сохраните prompt, входной fixture и ожидаемые свойства результата в системе версий. После смены модели/режима повторите минимум три кейса: нормальный, граничный и с отсутствующим критическим входом.

Проверка результата

ЧислаКонтрольный пересчёт и размерности.
НормативыПервичный документ и область применения.
КодSandbox, тестовые данные, diff и rollback.
CAD/CAEНативные измерения, solver/test, а не только изображение.

Когда ответ нужно остановить

  • появились новые исходные числа без источника;
  • ссылка или стандарт не открывается/не относится к задаче;
  • вывод зависит от отсутствующего параметра;
  • модель пытается выполнить write/deploy/publish без разрешения;
  • нет способа восстановить, какие входы дали итог.

Навигация по 10 промптам этой части

Продолжить чтение

FreeCAD + Python: параметрическое моделирование как удобный мост для LLMПараметрический FreeCAD-объект расширяется до серии воспроизводимых деталей.FreeCAD, AutoCAD и SOLIDWORKS API: общий принцип работы с ИИFreeCAD-сценарий уточняется версиями API, копией документа и проверкой сущностей.Проверка CAD-моделей после ИИ: КОМПАС-3D и SOLIDWORKSПосле построения через API проверяются topology и контрольные размеры.Идемпотентные Python-скрипты для CAD: как безопасно повторять запускПовторный параметрический запуск требует защиты от дублирования feature.