Перейти к публикации

Рекомендованные сообщения

23.12.2023 в 08:07, ЮрЮрыч сказал:

Здравствуйте. Что необходимо чтобы создать макросы в c# или c++?  Какая vsta должна быть установлена? Нужно Sw переустанавливать или можно это добавить через настройки? Сейчас установлен sw23, vsta2019. 

Используйте Visual Studio от МелкоМягких и забудьте про vsta - ибо он обрубок от VS

Ссылка на сообщение
Поделиться на других сайтах
  • 3 недели спустя...


Доброго дня! Есть ли в апи солида возможность перемещать строки в таблице спецификации? Нужно именно не просто скопировать текстовые значения строки, а перенести строку

Ссылка на сообщение
Поделиться на других сайтах
20 минут назад, Docuk1 сказал:

Есть ли в апи солида возможность перемещать строки в таблице спецификации?

https://cccp3d.ru/topic/6622-спецификация-для-sw-по-гост/

 

Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, Kelny сказал:

Да, именно в такой таблице, сделанной в этом макросе надо перемещать строки. 

Допустим у меня 10 листов в СП. Я добавляю новую деталь в сборку, она появляется на 10 листе в конце таблицы. Мне нужно перенести её на 2 лист в раздел детали. Для этого я соединяю таблицы каждого листа СП в одну МЕГАтаблицу и перетаскиваю деталь на нужную строку. Потом обратно разделяю МЕГАтаблицу на каждый лист. Поэтому вопрос: можно ли избежать соединения/разъединения таблицы и просто перенести нужную мне строку на другое место?

Ссылка на сообщение
Поделиться на других сайтах
11 минут назад, Docuk1 сказал:

Поэтому вопрос: можно ли избежать соединения/разъединения таблицы и просто перенести нужную мне строку на другое место?

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

Вмешиваться ручками в спецификацию при её автоматизации плохо и не правильно.

 

12 минут назад, Docuk1 сказал:

Да, именно в такой таблице, сделанной в этом макросе надо перемещать строки. 

Вероятно стоит смотреть раздел макроса, где программа производит форматирование.

Ссылка на сообщение
Поделиться на других сайтах

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

Ссылка на сообщение
Поделиться на других сайтах
8 минут назад, v-david сказал:

Что мешает отгрузить спецификацию в excel и делать с ней "что хош"?

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

Ссылка на сообщение
Поделиться на других сайтах

 

17 минут назад, v-david сказал:

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

Обратная взаимосвязь екселя со сборкой есть? Допустим поменял наименование детали или позицию в экселе, и  в сборке как-то автоматом (или по кнопочке) изменится? Если у Вас есть такое, не могли бы поделиться? 

 

42 минуты назад, Kelny сказал:

Правильным было бы просто сгенерировать новую спецификацию

У меня новая СП довольно долго формируется, быстрее ручками перетащить.

 

43 минуты назад, Kelny сказал:

Вероятно стоит смотреть раздел макроса, где программа производит форматирование.

Смотрел, но не смог найти нужное. Попробую продублировать вопрос в теме Леона

Ссылка на сообщение
Поделиться на других сайтах
49 минут назад, Kelny сказал:

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

Тогда уж звездочки )

Скрытый текст

звездочки.png

 

Ссылка на сообщение
Поделиться на других сайтах

Здравствуйте, подскажите как повернуть тескт в ячейке спецификации на 90град? Установка свойства Escapement = 1.5708 ничего недала. SetCellTextOrientation дает синтаксическую ошибку, хотя копирую из справки. Пытался найти в SpecEditor, не нашел. 

Через шаблон получилось.

Ссылка на сообщение
Поделиться на других сайтах
18.01.2024 в 12:33, Kelny сказал:

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

жмакнул макрос в SW - выгрузил спецуху в excel, жмакнул макрос в excel - форматнул как надо... Два нажатия это не автоматизация? Ваше утверждение ошибочно. 

Ссылка на сообщение
Поделиться на других сайтах
16 часов назад, v-david сказал:

жмакнул макрос в SW - выгрузил спецуху в excel, жмакнул макрос в excel - форматнул как надо... Два нажатия это не автоматизация? Ваше утверждение ошибочно. 

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

Если у вас налажена автоматизация через Excel, то вполне может быть жизнеспособно, а вот если имеется ручное человеческое вмешательство, то это не правильно и может приводить к ошибкам.

Ссылка на сообщение
Поделиться на других сайтах

Не "вполне может быть", а просто жизнеспособно. Можно, конечно, попробовать использовать тот убогий функционал работы с таблицами, что стандартно "зашит" в SW API , но у меня нет столько времени. Быстрее и проще разделить задачу на две части и пусть каждый макрос делает то, что умеет лучше всего. Я к тому, что зачем усложнять-то? Может кто-то знает, как подключить весь библиотечный функционал EXCEL, то тогда можно и объединить процессы. Но подозреваю, что это вряд ли. У меня другая профессия и я не смог.

Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, v-david сказал:

Я к тому, что зачем усложнять-то?

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

 

Ссылка на сообщение
Поделиться на других сайтах

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

Ссылка на сообщение
Поделиться на других сайтах
46 минут назад, Anatlijj8 сказал:

Скажите есть макросв солидворксе который ускорит работу проектирования и оформления чертежей?

Шаблоны, DriveWorks, Расчётные модули, возможно PDM/PLM и т.п.

Ссылка на сообщение
Поделиться на других сайтах

Здравствуйте. Размер блока как найти? Есть ли у него вообще такое свойство? Или придется получить все сущности блока и вычислять как разницу между max и min? 

Ссылка на сообщение
Поделиться на других сайтах

Всем привет. Использую SW API 2018 для своей программы на c#. Но не в силах разобраться в премудростях этого мудрёного API. Не нахожу, как получить доступ к свойствам модели, а именно наименованию и обозначению. Не к имени в дереве сборки, а именно к полям свойства "документа", которые, как я понимаю, зависят от выбранной конфигурации. Мне хватило бы конфигурации по умолчанию. Работаю с русскоязычной версией, и по идее поля именоваться могут по-разному в зависимости от языка. Нашёл вот возможность записывать собственные свойства и читать их, но мне нужны "родные" свойства модели. И обязательно не в контексте сборки. Пробовал и с селекшн-менеджером, с теми же проблемами выбора, как у кого-то тут до меня, и так и сяк. Куча версий API, куча всевозможных интерфейсов, разнообразных методов реально сбивают с толку даже в такой простейшей задаче, а в примерах всё вокург да около. Помогите кодом.

DwyPpG4O5lof.jpg

Ссылка на сообщение
Поделиться на других сайтах

не очень понял, что вы имеете ввиду под "родными" свойчтвами модели. Изначально их нет в принципе, они появятся, как только вы их ей присвоите. 

Не знаю как там у вса в с+, но в vba примерно так:

 

' Обращение к свойствам конфигурации (раздел Параметры конфигурации):
        Set swCustPropMgr = swConfig.CustomPropertyManager

' Обращение к общим для всех конфигураций свойствам (раздел Настройки):
Set swCustPropMgr = Select_Model.Extension.CustomPropertyManager("")

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

Dim names       As Variant

Dim name        As Variant

Dim textexp     As String
Dim evalval     As String

        names = swCustPropMgr.GetNames
        On Error Resume Next
        For Each name In names
            swCustPropMgr.Get2 name, textexp, evalval
'Debug.Print name & " = " & evalval
            swCustPropMgr.Delete name    ' пример как удалить свойство
            retVal = swCustPropMgr.Add2(name, swCustomInfoText, "")  ' пример как добавить  свойство с именем "name"
        Next name

Изменено пользователем v-david
Ссылка на сообщение
Поделиться на других сайтах

Не получается. Массив names не формируется, null.

Мой код:

ModelDocExtension swModelDocExt = default(ModelDocExtension);
CustomPropertyManager swCustProp = default(CustomPropertyManager);
string val = "";
string valout = "";
bool status;
swModelDocExt = swModel.Extension;
swCustProp = swModelDocExt.get_CustomPropertyManager("");
//swCustProp = swModel.Extension.CustomPropertyManager[""];
var names = swCustProp.GetNames();
foreach (string name in names)
{
    status = swCustProp.Get4(name, false, out val, out valout);
    Debug.Print("Value:                    " + val);
    Debug.Print("Evaluated value:          " + valout);
    Debug.Print("Up-to-date data:          " + status);
}

Почему и думал, что это не кастомные (пользовательские) свойства. То что в модели присутствует массив свойств в единственной конфигурации модели - это факт.

Вообще возникают большие вопросы ко всем этим кучам однообразных методов и интерфейсов с приписками индексов на конце.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...