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

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


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

Поэтому мне проще сохранять файл детали под идентичным имнем (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 пользователей

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




  • Сообщения

    • ДОБРЯК
      Если до решения сделать такой сдвиг, для вырожденной матрицы [К] [К]+w*[М], то эта матрица уже не будет вырождена. То после решения вместо нулевой первой собственной частоты, какую частоту мы получим?  
    • Fedor
      https://ru.wikipedia.org/wiki/LU-разложение  Вот что делается... :)   https://en.wikipedia.org/wiki/LU_decomposition
    • ДОБРЯК
    • Горыныч
      Только Вы решаете. Я Вам из собственного опыта привел рекомендации. Если страшно, то не берите, только и всего. Сломать можно все что угодно. 
    • Orchestra2603
      Ладно. Я примерно понял, что вы имеете в виду. В теории, даже чтобы выделить n-ный базис нужно зафиксировать какие-то значения n раз. Только надо так их задавать, чтобы каждый раз получались линейно-независимые вектора. Я бы не называл это "закреплением", потому что возникает ложная кажущаяся параллель со статическим решением, где мы ищем единственное решение и для этого фиксируем какие-то компоненты, хотя здесь цель расчета принципиально иная. Это, как по мне, приводит к путанице, но если вам нравится это так называть, то - пожалуйста. Кто я такой, чтобы вам запрещать)   Я не могу сказать, что решать нужно всегда. В моем понимании в определенных итерационных схемах собственные вектора получаются полседовательными приближениями сами по себе. Применяя всякие манипуляции к матрицам (сдвиги и т.д.) можно контролировать сходимость к наибольшему, наименьшему, i-му и т.д. собственному вектору. Я не прав?   Что касается факторизаций, то для любых квадратных матриц существует разложение Шура, где ортогональными преобразованиями матрица приводится к треугольной форме. В частности, для обобщенной задачи, вот выдержка из статьи. Алгоритм получаения такого разложения для обобщенной задачи называется QZ алгоритм. Он вовсю используется в Матлабею Я не вижу никаких препятствий принципиальных, чтобы получить такую факторизацию матриц.     Т.е. похоже, что, да, все же приходится решать СЛАУ, в общем случае для треугольной матрицы A-lambda*B. И покуда lambda будет собственным значением, вся матрица A-lambda*B будет вырождена. В частности, для нулевых СЗ A-lambda*B = A, и А, сама собой, вырождена.   Но.. не могу пока сказать точно, но вроде как если A и B - симметричны, то QAZ и QBZ из треугольных превращаются в диагональные, и тогда столбцы Q становятся автоматически собственными векторами (разложение Шура переходит в спектральное), т.е. и решать ничего не приходится. Но где-то пишут, что нужна положительная определенность, где-то пишут, что только симметрии достаточно... не могу пока точно сказать.  
    • ДОБРЯК
      Я вижу, что вы не поняли. А говорили, что это знали еще в детском саду... https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%93%D0%B0%D1%83%D1%81%D1%81%D0%B0 Читайте внимательно. :=)   Ме́тод Га́усса — классический метод решения системы линейных алгебраических уравнений (СЛАУ). Назван в честь немецкого математика Карла Фридриха Гаусса. Это метод последовательного исключения переменных, когда с помощью элементарных преобразований система уравнений приводится к равносильной системе треугольного вида, из которой последовательно, начиная с последних (по номеру), находятся все переменные системы.  
    • Shura762
      (дисклеймер ) не взлетит... особенно учитывая его отношение, как человека колбасит, и почему в ТФ "узел" а не точка... перепутано местами "ты" , "на" и пропустили слово "пошёл" ... можно сказать я работаю в таком коллективе, и ЧЁ, плевали на ТФ с высокой колокольни, если молодежь можно еще как-то замотивировать, показать как надо работать, то старшее поколение делает на "отвали моя черешня" чертежи выдали тяп-ляп и что тебе надо то еще .... (дальше идиоматические выражения в рамках законодательства) p.s. я догадываюсь почему "узел" и считаю что правильное название дали.
    • lem_on
      Термообработка намного эффективнее, но из за размеров можно использовать локальное воздействие на сварочные швы вибрацией либо "проковкой" 
    • maxx2000
    • lem_on
×
×
  • Создать...