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

Свойства пользователя: нужна помощь!


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

Поэтому мне проще сохранять файл детали под идентичным имнем (98ХХ-05.001) и тут же в диалоговом окне вводить ее наименование (Шайба) в поле "description".

А более подробное описание детали можно делать в "Заметке".

"Наименование" лучше заносить в поле "наименование", а не в "описание". Очень жаль, что переводчики Солида так перевели "Title", что теперь не найти где поле "наименование" (название, заглавие). А "Subject" в нашем случая (по моему мнению) все-таки не "тема", а "предмет", "субъект" т.е. "обозначение". Впрочем, кому как нравится можно и основное значение - "подданный".

"Заметка" единственное многострочное поле и только его можно использовать для технических требований - что я и делаю (и все мои подчиненные).

А в поле "описание" я все-таки пишу описание.

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


Зайди на <noindex>http://www.pogruzka.com/julio/</noindex> там увидишь много интересного для своей автоматизации. В часности выложены несколько макросов которые заполняют свойства детали, без ручного вписывания.

Классный сайт! Только не нашел я там решения своих первых двух вопросов. Уважаемые Гении SW!!! Помогите решить хотя-бы первый вопрос: Каким образом осуществить отображение Имени папки (не адреса!!!) в заметке (примечании) чертежа?
Ссылка на сообщение
Поделиться на других сайтах

Макросом

Вычисляешь полный путь, далее праграмным способом вычленяешь название папки и заносишь его в свойство файла.

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

Макросом

Вычисляешь полный путь, далее праграмным способом вычленяешь название папки и заносишь его в свойство файла.

Грешно смеяться над "молодым" :unsure: . Говорила мне мама: Учи, сынок Basic!
Ссылка на сообщение
Поделиться на других сайтах

Говорила мне мама: Учи, сынок Basic!

"... а не лазей по колодцам" :smile:

Ничего сложного надо только время затратить.

Полный путь дает одна из функций API SW (не приводу только из-за того что сам не помню надо поднимать Help)

Далее работа с текстовой переменной (тут конечно необходимы знания в программировании)

И одной фукцией занести это в свойство.

Схема проста, а вот посидеть над программой поболее времени необходимо, чем написать это сообщение. :smile:

Чем мог помог :beer:

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

Вот код макроса, который записывает имя папки в свойства пользователя

Option Explicit



Dim swApp As SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc2



Sub main()

	On Error GoTo lineError

	Set swApp = Application.SldWorks

	

	Set swModel = swApp.ActiveDoc

	If swModel Is Nothing Then

		MsgBox "Загрузите документ SolidWorks!"

		Exit Sub

	End If

	

	Dim strFullPath As String

	strFullPath = swModel.GetPathName ' получаем полный путь модели

	

	Dim vPath As Variant

	vPath = Split(strFullPath, "\")

	

	Dim iLen As Integer

	iLen = UBound(vPath)

	

	Dim strNameFolder As String ' Имя папки

	strNameFolder = vPath(iLen - 1) ' здесь получаем имя папки

	

	Dim nameProperties As String

	nameProperties = "Имя папки" ' наименование свойства, которое будет содержать имя папки, запишешь какое тебе нравиться

	

	swModel.AddCustomInfo3 "", nameProperties, swCustomInfoText, strNameFolder

	Exit Sub

	

lineError:	

End Sub

Потом заметку свяжите с этим свойством

З.Ы. Если это то, что вам надо, конечно

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

Вот код макроса, который записывает имя папки в свойства пользователя

Спасибо 'Shvg', что уделили мне внимание и затратили свое драгоценное время на мою прихоть. Макрос работает, но...! Объясню суть моей прихоти, может есть другой выход.

У нас единичное производство изделий - "под заказчика". Практически, все изделия имеют свои отличия (хоть и не большие) и свои серийные номера. Стандарт предприятия требует отражения серийного номера в основной надписи чертежа. Вся КД в электронном виде хранится в архиве: для каждого изделия - своя папка. Имя папки - серийный номер. При "разработке нового изделия" приходится перебивать (через автозамену) серийники во всех чертежах (до 500 листов). Уходит уйма драгоценного времени. Вот и хотелось бы, чтобы с изменением имени папки, изменялись значения в файлах SW. Данный макрос не позволяет сделать это.

С уважением, Volodey.

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

To Volodey

Ну, время я затратил, совсем немного, 10 мин. А то, что это не совсем подходит, то я руководствовался вопросом:

1. Среди свойств пользователя есть свойство – «Имя Папки», однако фактически отражается весь адресный путь. Можно ли сделать так, чтобы отражалось именно имя папки, в которой находится конечный файл?

Даже после уточнений в вашем последнем посте, не совсем понятно, что вы хотите? Ведь первоначальные вопросы были

1. Среди свойств пользователя есть свойство – «Имя Папки», однако фактически отражается весь адресный путь. Можно ли сделать так, чтобы отражалось именно имя папки, в которой находится конечный файл?

2. Можно ли сделать так, чтобы свойство «Имя Файла» отображало часть имени. Например: «ХХХ.02 СБ_Рама в сборе» – имя файла, а свойство отображает: «ХХХ.02 СБ»?

На мой взгляд, решение этой проблемы состоит в следующем. В шаблоне создаете свойства пользователя, те которые вам нужны. Эти свойства связываете с заметками в чертеже. А далее программным путем, при подключенной dll-ке, при открытии файла меняются эти самые свойства пользователя, и, соответственно, заметки в чертеже. Правда dll-ку придется для этой операции подключать. Если ее не будет, то ничего не произойдет...
Ссылка на сообщение
Поделиться на других сайтах

Объясню суть моей прихоти, может есть другой выход.

У нас единичное производство изделий - "под заказчика". Практически, все изделия имеют свои отличия (хоть и не большие) и свои серийные номера. Стандарт предприятия требует отражения серийного номера в основной надписи чертежа. Вся КД в электронном виде хранится в архиве: для каждого изделия - своя папка. Имя папки - серийный номер. При "разработке нового изделия" приходится перебивать (через автозамену) серийники во всех чертежах (до 500 листов). Уходит уйма драгоценного времени. Вот и хотелось бы, чтобы с изменением имени папки, изменялись значения в файлах SW. Данный макрос не позволяет сделать это.

С уважением, Volodey.

С точки зрения экономики в единичном производстве получить приемлемую себестоимость можно только используя стандратные детали и узлы, что позволяет экономить на проектировании, технологии, использовании незавершенного производства.

Так вот описанный Вами путь - как раз в другую сторону.

На моем предприятии мы тоже работаем под заказчика, но идеология проектирования носит условное название "Лего". Все собрать из стандратных узлов не получается никогда, но проектирование у нас минимально - стараемся большую часть изделия собрать из готовых (серийных) узлов. Соответственно все детали-сборки обезличены и обозначаются по классификатору.

Но это моя личная точка зрения (и как экономиста и как конструктора, с соответсвующими дипломами).

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

...

При "разработке нового изделия" приходится перебивать (через автозамену)

серийники во всех чертежах (до 500 листов).

Что значит "перебивать" ?

У вас, что каждый день меняется имя этой папки?

Я делал так:

вставлял в чертеж примечание и связывал его с именем папки + имя файла+дата.

Теперь: кто-бы где-бы ни открыл данный чертеж, данные в этом примечании будут автоматом изменены на текущие.

Или это не то что нужно?

Я использовал этот метод для того, чтобы легче мне было самому искать данный чертеж. А то приходят из цеха с чертежом:

когда я его делал, в каккой папке он лежит - была проблема. А потом я это примечание мелким шрифтом вставил между

рамкой формата и границей листа (ну где пишется "копировал" и тд) только с правой стороны, вертикально.

Никому это не мешало а мне ну очень помогало...

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

Что значит "перебивать" ?

У вас, что каждый день меняется имя этой папки?

Я делал так:

вставлял в чертеж примечание и связывал его с именем папки + имя файла+дата.

Теперь: кто-бы где-бы ни открыл данный чертеж, данные в этом примечании будут автоматом изменены на текущие.

Или это не то что нужно?

Да! это-то мне и нужно, что я и делаю! Только у меня (SW 2007) отображается не имя папки (1756), а ее полный адрес (D:\Архив\Разработки\1756\). Мне же нужно в примечании получить - 1756. Скажите как??? Или может это глюк 2007-го? Поэтому меня и не понимают? Изменено пользователем Volodey
Ссылка на сообщение
Поделиться на других сайтах

Да! это-то мне и нужно, что я и делаю! Только у меня (SW 2007) отображается не имя папки (1756), а ее полный адрес (D:\Архив\Разработки\1756\). Мне же нужно в примечании получить - 1756. Скажите как??? Или может это глюк 2007-го? Поэтому меня и не понимают?

Нет, не нашел :-(

Глюк ли это? Не знаю.

Есть имя папки(полный путь), имя файла и др.

Пока один совет: через API.

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

Или может это глюк 2007-го? Поэтому меня и не понимают?

Это не глюк, к сожалению, SW. Просто это встроенное свойство SolidWorks. Здесь ничего изменить нельзя. Я уже писал, что создайте какие нибудь свойства пользователя (желательно в шаблоне документа) в которые будет записываться, необходимая вам информация, свяжите их с нужными заметками. Попросите знакомого програмиста, чтобы он подписался на события FileOpenNotify2 при открытии файла и FileSaveNotify при сохранении файла. При этих событиях, необходимая информация будет автоматически записываться в свойства пользователя и заметка будет обновляться. Открытие и сохранение документов, можно загнать в цикл. Вам только придется уходить на перекур.
Ссылка на сообщение
Поделиться на других сайтах

Попросите знакомого програмиста, чтобы он подписался на события FileOpenNotify2 при открытии файла и FileSaveNotify при сохранении файла. При этих событиях, необходимая информация будет автоматически записываться в свойства пользователя и заметка будет обновляться. Открытие и сохранение документов, можно загнать в цикл. Вам только придется уходить на перекур.

Благодарю. В принципе, вот эта штуковина (http://www.pogruzka.com/julio/swprog/editprop/p2txt2p/faq.php) прекрасно справляется с данной задачей! Теперь времени для перекуров значительно прибавилось! :smile:
Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Tad
      Вы спрашиваете про опыт... @gudstartup совершенно прав - отправляйте узел в ремонт, так как некомпетентная возня, как правило, приводит к бОльшим как временным так и материальным потерям.
    • МиО
      Для не последних (например для 2012) версий надо добавить  [HKEY_CURRENT_USER\Software\SolidWorks\SolidWorks 2012\Performance\Graphics\Hardware\Gl2Shaders\Other\Intel(R) HD Graphics 4000] "Workarounds"=dword:00080008 Вместо "Intel(R) HD Graphics 4000" вставить свое имя видеокарты. Может быть любым.  
    • Alexey8107
      Я как бы в курсе. Вопрос звучал Вы же для чего то флудите, видимо уровень себе накручиваете.    К вашему сведению, у нас три таких станка, и все три загружены работой в три смены. Один вышел из строя, их осталось два, но работают за троих.   Интересная интерпретация   Я спрашивал про идеи и вдруг у кого есть опыт устранения дефекта. Адекватные люди промолчали, я это воспринимаю как отсутствие опыта или идей. И это нормально. Вас же отчего то поперло на откровенный флуд. 
    • sloter
      В этом случае (при импорте) можно проще (раз связь с исходными построениями всё равно потеряна). При открытии  IGES зайти в Параметры и поставить галку "Импортировать несколько тел как детали".    В вышеуказанном способе поверхности перенесутся. Правда они все могут содержаться в какой то одной детали. Но правильная структура сборки на данном этапе, как я понял, вам не важна. Если поверхностей не сильно много, то может устроит.
    • Jenny
      Ну что поделать. Оптические сборки они такие. Соединители(2шт)+заглушка+провода а в спецификацию летит 1 строкой. При этом для сборщиков необходимо указывать как проложить провод. Вот и извращаемся как можем. Благодарю!
    • Павлуха
      Поставите сюда галочку и будет Вам счастье.    
    • Бестолковый
      Так вот, осваивая потихоньку SW пришёл к созданию собственных таблиц свойств. Тех самых которые Custom Properly Table, для детали, сборки чертежа детали и чертежа сборки соответственно. Создал таблицы (синхронно создав заготовки для каждого типа вышеуказанных документов, переписал переменные и сложил в отдельную папочку, прописав в свойствах SW пути к ней. Так, чтобы при создании нового документа всё открывалось правильно.   Начитавшись форумов всяко-разных профильных (включая этот) и мануалов пришёл к выводу, что можно "скармливать" в таблицу текстовый или Excel файл с необходимыми данными, как то данные для заполнения штампа и прочее. Иерархия такова: Есть конкретный неизменяемый диск, на нём папки всех проектов, в каждой из них, кроме самих файлов SW кладу этот самый файл гордо именуемый "Код_проекта_db.txt" имя которого меняется, равно как и путь. Всё бы ничего, но когда у тебя один проект - всё гуд, делаешь второй проект - при открытии панельки справа - SW автоматом "подтягивает" файлик из первого проекта, приходится открывать Properly Table Builder и переназначать путь к файлу с необходимыми для второго проекта данными.   Сопсна - сам вопрос к Многоуважаемому Сообществу: Продолжать перезаписывать пути каждый раз или есть какой-то другой выход из сложившейся моими шаловливыми ручонками ситуации?   Заранее признателен за адекватный развёрнутый ответ!  
    • igor555
      Но почему-то на других станках в цехе этого нет и не тупим...хотим придти к единому знаменателю
    • mrVladimir
    • Vengeance
      https://t.me/bBqcc5UzY2E6 заходи в гости, там есть все ^_^
×
×
  • Создать...