Записи с меткой «пакет»

Функции задания формата

Функции задания формата

  • CForm[expr] — выполняет вывод ехрг в форме, принятой для языка С.
  • ColonForm[a,b] — выводит в виде а:b.
  • ColumnForm[ {el, e2,…} ] — дает вывод в виде столбца с el над е2 и т.д.
  • ColumnForm[list, horiz] — при выводе дает горизонтальное выравнивание каждого элемента.
  • ColumnForm[list, horiz, vert] — при выводе дает как горизонтальное, так и вертикальное выравнивание всего столбца.
  • FontForm[expr, {"font", size}] — устанавливает шрифт "font" и размер size, с которыми выводится выражение ехрг.
  • Format [ехрг] — выводит ехрг в форматированном виде.
  • Format [expr, type] — возвращает формат для указанного типа type.
  • InputForm[expr] — выводит ехрг во входной форме.
  • NumberForm[expr, n] — выполняет вывод приближенного представления вещественного значения ехрr с точностью до n цифр.
  • OutputForm[expr] — выполняет вывод ехрr в стандартной выходной форме системы Mathematica.
  • PaddedForm[expr, n] — выводит все числа ехрr, заполняя оставшиеся места так, чтобы каждое число содержало n знаков.
  • PaddedForm[expr, {n, f} ]—выводит ехрг с приближенными вещественными числами, имеющими ровно f цифр справа от десятичной точки.
  • PrecedenceForm[expr, prec] — выводит выражение ехрг, заключенное в скобки так, как если бы оно содержало оператор с приоритетом ргес.
  • Prefix [f [ехрг] ] — выводит функцию f [ехрг] в префиксной форме: f @ ехрг.
  • Prefix [f [ехрг] , h] — выводит функцию f [ехрг] с заголовком h, то есть как hexpr.
  • $ Print Forms — является списком базисных форм вывода. Он автоматически обновляется при создании описаний Format, использующих новые формы вывода.
  • TextForm[expr] — выполняет вывод ехрг в обычном текстовом формате.
  • Unevaluated [ехрr] — представляет невычисляемую форму выражения ехрг, когда оно используется как аргумент функции.

Для функции Number Form и родственных функций используется ряд опций:

  • DigitBlock — указывает максимальную длину групп разрядов при использовании разделителей.
  • FormatType — указывает тип формата по умолчанию при выводе выражений.
  • NumberFormat — указывает, как мантисса, основание и порядок должны быть скомпонованы в конечную форму вывода.
  • NumberPadding — задает символы, которые будут использоваться для заполнения с левой и правой сторон числа.
  • NumberPoint— задает строку для использования в качестве десятичной точки.
  • NumberSeparator — задает строку для вставки между группами разрядов.
  • Right — используется для указания правостороннего выравнивания в таких формах вывода, как ColumnForm и TableForm.

Дополнительные функции и опции ввода/вывода

  • Attributes [symbol] — возвращает список атрибутов символа symbol.
  • Bastchlnput — возвращает True, если ввод в текущем сеансе работы производится непосредственно в ядро системы в пакетном режиме, и False в противном случае.
  • $BatchOutput — возвращает True, если вывод в текущем сеансеработы пересылается в пакетном режиме и пригоден для чтения другими программами, и False в ином случае.
  • Characters ["string"] — возвращает список символов в строке.
  • Dialog[ ]— инициирует диалог (часто используется совместно с функцией Return).
  • Dialog [ехрг] — инициирует диалог с использованием ехрг как текущего значения.
  • Dialoglndent [d] — возвращает величину отступа для строк ввода и вывода, которая используется в диалогах с глубиной вложенности d.
  • FullDefinition [s1, s2,…] — выводит определения, присвоенные символам si и всем символам, от которых данные символы зависят.
  • Information [symbol] — выводит информацию о символе symbol.
  • $ Input — глобальная переменная, значением которой является имя потока, из которого Mathematica в данный момент ожидает поступления входной информации.
  • $ Language — является списком строк, которые дают названия языков, используемых для сообщений.
  • Normal [ехрг] — преобразует ехрг из ряда специальных форм в нормальное выражение.
  • Out [n] — глобальный объект, соответствующий выводу, произведенному в и-й выходной строке (ячейке).
  • % — возвращает последний произведенный результат.
  • % % — возвращает предпоследний результат.
  • %%…% (k раз) — возвращает k-й предшествующий результат.
  • %k — возвращает результат из k-й выходной строки (абсолютная адресация).
  • Shallow [ехрг] — выводит первые четыре уровня ехрг, за исключением частей ехрг, длина которых превышает 10. Остальные части выводятся в структурной (скелетной) форме.
  • Shallow [expr, depth] — выводит части выражения ехрг до указанной глубины depth. Остальные части выводятся в структурной (скелетной) форме.
  • Shallow [expr, {depth, length}] — возвращает в структурной (скелетной) форме также и те части, длины которых выше указанного предела length.
  • Shallow[expr, {depth, length}, form] — использует скелетную форму для любых частей выражения, сопоставимых с указанным шаблоном form.
  • Short [expr] — выводит краткую форму ехрг, не превышающую длину одной строки.
  • Short [expr, n] — выводит ехрг в форме длиной около n строк.
  • SpaceFormfn] — выводит n пробелов.

Некоторые из этих функций используют приведенные ниже опции:

  • Above — опция, используемая для установки выравнивания в таких формах вывода, как ColumnForm и TableForm.
  • Bottom— является возможным значением опции TableAlignments для TableForm.
  • Below — используется для указания выравнивания в таких формах вывода, как ColumnForm и TableForm.
  • Center — устанавливает выравнивание в таких формах вывода, как Column-Form и TableForm.
  • DialogProlog — опция для Dialog, которая позволяет вычислить выражение до начала диалога.
  • DialogSymbols — опция для Dialog, которая возвращает список символов, чьи значения будут локализованы в диалоге.
  • Heads — опция для функций, которые используют спецификации уровня, указывающая, следует ли включать заголовки выражений.
  • IgnoreCase — опция для функций манипулирования строками и функций поиска, которая указывает, следует ли считать прописные и строчные буквы эквивалентными.
  • SignPadding — опция для NumberForm и родственных функций, указывающая, что заполнитель (если он используется) должен размещаться после знака числа.

Приведем примеры использования этих форм вывода.

Ввод (In)

Вывод (Out)

Dialog [] ^n Return [a+b+c]

(a+b+c) n

Dialog []*y Return [x]

xy

Shallow [Exp [х ^ (a/b) ] /x/a]

e Power[ /ax

Short [Exp [х ^ (a/b) ] /x/a, 1]

e x^a/b /ax

В этих примерах надо обратить особое внимание на применение функции Dialog. При ее начальном вызове строка вывода не формируется. Она появляется после исполнения ячейки ввода с функцией Return, причем ячейки ввода в пределах тела диалога нумеруются так: (Dialog) In[n]:=.

Создание поверхностей вращения — SurfaceOfRevolution

Создание поверхностей вращения — SurfaceOfRevolution
Одна из задач компьютерной графики — создание поверхностей вращения. Средства для этого дает подпакет SurfaceOfRevolution. Они представлены следующими функциями:

  • SurfaceOfRevolution [f, {x, xmin, xmax} ] — строит поверхность, образованную вращением кривой, описанной функцией f, при изменении х от xmin до xmax, в плоскости ху;
  • SurfaceOfRevolution [{fx, f у}, {t, tmin, tmax} ] — строит поверхность, образованную вращением кривой, описываемой параметрически заданной на плоскости функцией {f x, f у}, в плоскости xz при изменении параметра t от tmin до tmax;
  • SurfaceOfRevolution[{fx,fy,fz},{t,tmin,tmax}] — строит поверхность, образованную вращением кривой, описываемой параметрически заданной в пространстве функцией {fx, fy, fz}, в плоскости xz при изменении параметра t от tmin до tmax;
  • SurfaceOfRevolution[f,{{x,xmin,xmax},{theta,thetamin,thetamax}}] — строит поверхность вращения кривой, описываемой функцией f, при угле theta, меняющимся от thetamin до thetamax.

Рисунок дает простой пример построения поверхности, образованной линией cos(x) при изменении х от 0 до 4л, вращающейся вокруг оси xz. Построение задано функцией SurfaceOfRevolution [f, {x, xmin, xmax} ]. В этом случае линия вращается в пределах угла от 0 до 2-я, поэтому поверхность получается круговой.
Следующий пример показывает ту же фигуру в другом положении. Это достигается сменой угла обзора с помощью опции viewVertical.
Пример применения функции SurfaceOfRevolutibn [ {fx, fy}, {t, tmin, tmax) ] представлен на. Формируется этакое декоративное яйцо на подставке. Заменив в определении функции Cos [u] на Sin [u], можно получить изображение рюмки. далее…

Создание графических форм — Shapes

Создание графических форм — Shapes
Нередко желательно придать трехмерным объектам определенную форму, например кольца или бублика. Некоторые возможности для этого дают функции под-пакета Shapes. Основной из них является функция Show [Graphics3D [shape] ], которая производит отображение формы со спецификацией shape.
С ней могут использоваться графические примитивы:

  • Cone [r, h, n] — конус с основанием радиуса r и высотой h на основе n-сто-роннего полигона;
  • Cylinder [r, h, n] — цилиндр радиуса r и высотой h на основе и-стороннего полигона;
  • Torus[rl,r2,n,m] — объемное кольцо с внешним и внутренним радиусами rl и г 2 и числом сторон каркаса n и m;
  • Sphere [r, n,m] — сфера радиуса г, составленная из многоугольников с параметрами n и m и числом сторон п(т — 2) + 2;
  • MoebiusStrip [rl, r2, n] — кольцо Мебиуса с радиусами rl и r2, построенное на основе полигона с 2n сторонами;
  • Helix[r,h,m,n] — плоская спираль радиусом г и высотой h c m витками на основе поверхности, разбитой на nxm четырехугольников;
  • DoubleHelix[r,h,m,n] — плоская двойная спираль радиусом r и высотой h с m витками на основе поверхности, разбитой на nxm четырехугольников.

Возможно указание фигур без параметров. далее…

Геометрические расчеты — пакет Geometry

Геометрические расчеты — пакет Geometry
 
В этом разделе описан пакет Geometry, содержащий ряд функций, полезных при выполнении геометрических расчетов. В основном это функции, относящиеся к построению регулярных полигонов на плоскости и полиэдров в пространстве. Кроме того, в пакете есть функции, задающие вращение фигур на плоскости и в пространстве.
Характеристики регулярных полигонов и полиэдров — Polytopes
Подпакет Polytopes содержит ряд функций для регулярных полигонов (многоугольников):

  • NumberOfVertices [р] — число вершин углов полигона;
  • NumberOfEdges [p] — число сторон полигона;
  • NumberOf Faces [p] — число граней полигона;
  • Vertices [р] — список координат вершин углов полигона;
  • Area [р] — площадь полигона при длине каждой стороны, равной 1;
  • InscribeciRadius [р]— радиус вписанной в полигон окружности;
  • CircumscribedRadius [р] — радиус описывающей полигон окружности.

В этих функциях наименование полигона р может быть следующим (в скобках дано число сторон):
Digon (2)
Triangle (3)
Square (4)
Pentagon (5)
Hexagon (6)
Heptagon (7)
Octagon (8)
Nonagon (9)
Decagon (10,)
Undecagon (11)
Dodecagon (12)
На0 показаны примеры применения некоторых из этих функций и построение крупными точками вершин полигона — Пентагона (пятиугольника).
Для объемных фигур — полиэдров — имеются следующие функции:

  • NumberOfVertices [р] — число вершин углов полиэдра;
  • NumberOfEdges [р] — число сторон полиэдра;
  • NumberOf Faces [р] — число граней полиэдра;
  • Vertices [p] — список координат вершин углов полиэдра;
  • Area [p] — площадь полиэдра при длине каждой стороны, равной 1;
  • InscribedRadius [р] — радиус вписанной в полиэдр окружности;
  • CircumscribedRadius [р] — радиус окружности, описывающей полиэдр;
  • Volume [p] — объем полиэдра;
  • Dual[p] — дуальный полиэдр;
  • Schlafli[p] — символ полиэдра.

Здесь наименование полиэдра может быть следующим:
Tetrahedron (4)
Cube (6)
Octahedron (8)
Didecahedron (12)
Icosahedron (20)
Примеры применения функций полиэдров представлены ниже:
Volume[Octahedron]
(Корень из 2) /3
Vertices [Octahedron]
{{0, 0, 1.41421}, {1.41421, 0, 0}, {0, 1.41421, 0},
{0, 0, -1.41421}, {-1.41421, 0, 0}, {0, -1.41421, 0}}
Dual [Octahedron]
Cube
InscribedRadius [Octahedron]
1/(Корень из 6)
GircumscribedRadius [Octahedron]
1/(Корень из 2)
 
Вращение фигур на плоскости и в пространстве — Rotations
Для задания поворота плоских фигур на заданный угол в подпакете Rotations заданы следующие функции:

  • RotationMatrix2D[theta] — дает матрицу для поворота на угол theta в двух измерениях;
  • Rotate2D [vec, theta] — поворачивает вектор vec по часовой стрелке на угол theta;
  • Rotate2D[vec,theta,{x,y}] — поворачивает вектор vec по часовой стрелке на угол theta относительно точки с координатами {х, у}.

Рисунок иллюстрирует работу с этими функциями.
Аналогичные функции существуют и для поворота трехмерных фигур:

  • RotationMatrix3D [psi, theta,phi] — дает матрицу поворота на заданные углы в трехмерном пространстве;
  • Rotate3D [vec, psi, theta, phi] — поворачивает вектор vec на заданные углы в трехмерном пространстве;
  • Rotate3D [vec, psi, theta, phi,{x,y,z}]— поворачивает вектор vec на заданные углы в трехмерном пространстве относительно точки с координатами {х,у, z}.

Приведем пример вычисления матрицы трехмерного поворота:
RotationMatrix3D[Pi, Pi/2, Pi/6]

{{-(Корень из 3)/2,0,1/2 }},{1/2,0,(Корень из 3)/2},{ 0,1,0,}}

Как создать собственный нормативный сборник?

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

  • Структура вновь создаваемого сборника (перечень столбцов ЗП(ед), ЭМ(ед), Мат(ед), ПЗ(ед) и т.д.) совпадает со структурой сборников уже существующих в программе. В этом случае удобно скопировать распакованный сборник (открыть одновременно два окна "СПИСОК НОРМАТИВНЫХ ДОКУМЕНТОВ" и перенести сборник из одного окна в другое). Далее можно копию переименовать, удалить ненужные расценки и добавить новые, используя клавишу Ins.
  • Структура вновь создаваемого сборника не совпадает со структурой существующих уже в программе или же вы просто не хотите удалять расценки из других сборников. В этом случае в окне "СПИСОК НОРМАТИВНЫХ ДОКУМЕНТОВ" добавляется новый сборник (клавишей Ins).

В появившемся окне АТРИБУТЫ СБОРНИКА внесите наименование и сборника и нажмите кнопку КОНФИГУРАЦИЯ.

  • По нажатию кнопки КОНФИГУРАЦИЯ вы попадаете в структуру создаваемого сборника.
  • Помимо обязательных, входящих в структуру по умолчанию полей (столбцов), вам следует добавить все остальные поля. Например, по умолчанию в структуру включены НАИМЕНОВАНИЕ и N расценки. Скорее всего вы добавите еще поля МАТЕРИАЛЫ, МАШИНЫ, МАТЕРИАЛЫ И ПРЯМЫЕ ЗАТРАТ, определив для добавленных полей ТИП и ОБОЗНАЧЕНИЕ. Для полей МАТЕРИАЛЫ, МАШИНЫ и ЗАРПЛАТА вы скорее всего определите тип ЧИСЛО. Для поля ПРЯМЫЕ ЗАТРАТЫ вы скорее всего определите тип ФОРМУЛА, так как это поле как правило рассчитывается из предыдущих.
  • Определив структуру сборника вы нажимаете кнопку ВВОД и возвращаетесь в окно АТРИБУТЫ СБОРНИКА.
  • Нажимая кнопку ИЗМЕНИТЬ вы заканчиваете внесение Информации о вновь добавленном сборнике и окно АТРИБУТЫ СБОРНИКА закрывается.
  • Далее вам остается только открыть вновь добавленный сборник внести в него расценки.

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

  • Откройте вновь добавленный сборник.
  • Откройте другой сборник, из которого будут переноситься расценки.
  • Расположите сборники на экране (используйте режим РАСПОЛОЖИТЬ в.меню ОКНА).
  • Выберите и пометьте расценки, которые вы хотите перенести в РАБОЧИЙ СБОРНИК.
  • Перенесите (скопируйте) расценки в рабочий сборник.

Как добавить ресурсы в список ресурсов к расценке (замена ресурсов)?
Часто сметчикам приходится заменять в расценке один ресурс другим или добавлять (удалять) ресурсы.
Удалить ресурс просто:

  • Войдите в список ресурсов
  • Установите курсор на текущей строке в списке ресурсов
  • Нажмите клавишу Del на вашей клавиатуре и подтверждаете удаление.

Для добавления ресурса:

  • Закройте окно СПИСОК РЕСУРСОВ
  • Найдите и пометьте те позиции, которые должны быть добавлены в список ресурсов. Для этого Вы снова открываете СПИСОК НОРМАТИВНЫХ ДОКУМЕНТОВ, открываете либо один из ценников на материалы (Ценник материалов есть в папке МОСКОВСКИЕ РАСЦЕНКИ и в папке ОБЩЕСОЮЗНЫЕ РАСЦЕНКИ и в других папках) либо справочник РЕСУРСЫ 84-го года. Открыв нужный сборник, Вы выбираете одну или несколько позиций с материалами (ресурсами) и помечаете их (F4). После этого Вы возвращаетесь к расценке, список ресурсов которой, Вы редактировали и снова открываете список ресурсов (дважды щелкнув по голубому листочку слева от кода расценки).
  • В списке ресурсов Вы нажимаете кнопку ДОБАВИТЬ и все, помеченные ранее, материалы (ресурсы) будут добавлены в открытый список ресурсов.

Замена ресурсов фактически сводится к удалению одних ресурсов и добавлению других. Все операции над сборниками абсолютно применимы и к выпускам коэффициентов пересчета (окно КОЭФФИЦИЕНТЫ ПЕРЕСЧЕТА).
Как внести фактические цены на ресурсы?
Если Вы рассчитываете смету ресурсным методом, то скорее всего заполняете поле ЦЕНА ФАКТИЧЕСКАЯ для ресурсов входящих в расценку (эту же операцию Вы можете выполнить и для сборника). У Вас есть два способа заполнения этого поля:

  • Последовательно переходя от расценке к расценке заполнять поле ЦЕНА ФАКТИЧЕСКАЯ, причем если ресурс встречается в нескольких расценках, Вам приходится несколько раз вносить одно и то же значение.
  • Выбрать режим СПИСОК ФАКТИЧЕСКИХ ЦЕН в меню СМЕТА находясь в списке СМЕТ и ДОГОВОРОВ.

После уточнения типов ресурсов программой формируется список ресурсов для помеченных смет и договоров или для текущей строки в списке смет и договоров.
В сформированном списке фактических цен заполняется поле ФАКТ. ЦЕНА. далее…

Каким образом можно перенести объекты из 3DS МАХ в ArchiCAD?

Каким образом можно перенести объекты из 3DS МАХ в ArchiCAD?
Существует несколько способов, позволяющих сделать это. Их условно можно разделить в зависимости от набора доступного Вам программного обеспечения:
Практически идеальный способ

  • Экспортируем модель, созданную в пакете 3DS МАХ в формат *.3ds.
  • Открываем в RightHemisphere Painter 3D (www.righthemi-sphere.com) полученный *.3ds и экспортируем его в *.3mf.
  • Открываем полученный *.3mf в ArchiCAD и сохраняем его как *.gsm.

Способ немного похуже

  • Устанавливаем дополнение (add-on) импорта-экспорта формата ZOOM для ArchiCAD.
  • Экспортируем модель, созданную в пакете 3DS МАХ в формат *.3ds
  • Открываем в пакете ZOOM полученный *.3ds и экспортируем его в *.zmf
  • Открываем полученный *.zmf в ArchiCAD и сохраняем его как *.gsm

Наполовину полноценный способ

  • Используем программу, поддерживающую экспорт в формат *.obj (таких много)
  • Экспортируем модель, созданную в пакете 3DS МАХ в формат *.3ds
  • Открываем полученный *.3ds в любой поддерживающей этот формат 3D-программе и экспортируем его в *.obj
  • Открываем полученный *.obj в ArchiCAD и сохраняем его как *.gsm

Неполноценный способ:

  • Экспортируем модель, созданную в пакете 3DS МАХ в формат *.dxf
  • Открываем полученный *.dxf в ArchiCAD и сохраняем его как *.gsm

Еще один способ

  • Скачиваем плагин max2obj (http://www.habwafe.at/duck3.htm)
  • Экспортируем из *.mах в *.obj
  • Полученный *.obj открываем в ArchiCAD как объект.

Как правильно настроить параметры экспорта из AutoCAD?
Передача двумерных данных достаточно проста: воспользуйтесь средствами взаимодействия с AutoCAD, расположенными в верхнем текстовом меню МОНТАЖ/Команды AutoCAD/Присоединение XREF. Наиболее удобно подгружать чертежи из AutoCAD в ArchiCAD методом внешней ссылки. При желании можно внедрить внешнюю ссылку в проект ArchiCAD.
Как получить зеркальные отражения?
К сожалению, рендер AchiCAD не может делать зеркальные отражения. Но есть возможность обойти это ограничение. Делаем фиктивное отражение таким способом:

  • Переставляем камеру симметрично по отношению к плоскости отражения, и вставляем полученную картинку при помощи Adobe Photoshop (или другого растрового редактора) с соответствующей степенью прозрачности в нужное место на конечной картинке (если это не "чистое" зеркало).

Как получить блики на отражающих поверхностях?
Единственный способ для получения подобия бликов на отражающих поверхностях, это выставить солнышко (или источник света) и камеру так, чтобы отраженный от этой поверхности свет падал в камеру. далее…