Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже.
Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.
Надо перевести фищические величины теплопроводность, теплоемкость, коэффициенты теплоотдачи, тепловой поток, давление, плотность и т.д. из системы СИ в систему, где расстояние измеряется в мм, масса в г, время в мс.
Есть ли простой и удобный калькулятор (конвертер)?
@malvi.dp Согласен
@nahaus Попробуйте данный код:
Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDrawing As SldWorks.DrawingDoc
Dim swSheet As SldWorks.Sheet
Dim fullPathFile As String
Dim nameFileExtension As String
Dim nameFileWithoutExtension As String
Dim propM() As Double
Dim propN As String
Dim n As Byte
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swDrawing = swModel
fullPathFile = swModel.GetPathName
' swApp.SendMsgToUser2 fullPathFile, swMbWarning, swMbOk
nameFileExtension = Mid(swModel.GetPathName, InStrRev(swModel.GetPathName, "\") + 1)
' swApp.SendMsgToUser2 nameFileExtension, swMbWarning, swMbOk
nameFileWithoutExtension = Left(nameFileExtension, InStrRev(nameFileExtension, ".") - 1)
' swApp.SendMsgToUser2 nameFileWithoutExtension, swMbWarning, swMbOk
Set swSheet = swDrawing.GetCurrentSheet
propN = ""
propM = swSheet.GetProperties2
For n = LBound(propM) To UBound(propM)
propN = propN & propM(n) & Chr(10)
' Debug.Print propN
Next n
' swApp.SendMsgToUser2 swSheet.GetName, swMbWarning, swMbOk
swApp.SendMsgToUser2 propN, swMbInformation, swMbOk
End Sub
Дело в том, что"swSheet.GetProperties2" это массив св-в и прежде чем их отобразить, нужно его записать, допустим, в текстовую переменную через цикл
как-то так
@nahaus Ок, сейчас проверю у себя
У Вас не объявлены переменные
fullPathFile и
nameFileExtension
Переменная sheetProperties вообще лишняя, не используется, а тип данных имеет самый жористый)
Извините конечно за прямоту, но ваш код - полное УГ ) Может я могу вам помочь, только Вы объясните, что Вы хотите с помощью этого кода получить в результате ?
@nahaus Потому что метод GetProperties2 возвращает массив свойств листа, состоящий из 8 переменных типа double:
[ paperSize, templateIn, scale1, scale2, firstAngle, width, height, sameCustomProp ]
Вам какие именно переменные из данного массива нужны: paperSize, width или height ? Или все сразу. Тогда переделайте строку:
swApp.SendMsgToUser2 swSheet.GetProperties2, swMbWarning, swMbOk
на
swApp.SendMsgToUser2 swSheet.GetProperties2(0), swMbWarning, swMbOk
или
swApp.SendMsgToUser2 swSheet.GetProperties2(5), swMbWarning, swMbOk
дальше примеры приводить не буду, думаю поняли логику
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.