|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Инженер-конструктор Регистрация: 31.03.2005
Санкт-Петербург
Сообщений: 150
|
Скажите а что из себя представляет advance steel premium develop ? Представления о языках программирования имею, если можно то по-подробнее. Что вообще даёт эта опция к программе и сколько она стоит?
__________________
Делать невозможное - смысл жизни:offtopic: |
|||
![]() |
|
||||
Цитата:
Imports AstSTEELAUTOMATIONLib Imports DSCGEOMCOMLib Imports DSCODBCCOMLib Imports System.Runtime.InteropServices <ComClass(SampleJoint.ClassId, SampleJoint.InterfaceId, SampleJoint.EventsId)> _ Public Class SampleJoint Implements IRule 'members Private m_ThisJoint As Joint Private dlgPage1 As Page1 'joint parameters Public m_PlateThickness As Double #Region "COM GUIDs" ' These GUIDs provide the COM identity for this class ' and its COM interfaces. If you change them, existing ' clients will no longer be able to access the class. Public Const ClassId As String = "0B00EB30-8BF2-4b59-BF68-2EF8C69D665C" Public Const InterfaceId As String = "923B9AAB-2380-436b-9583-6DF8DB090CB6" Public Const EventsId As String = "D0A6507A-F1A7-4ff0-987C-99D8A1542DF5" #End Region ' A createable COM class must have a Public Sub New() ' with no parameters, otherwise, the class will not be ' registered in the COM registry and cannot be created ' via CreateObject. Public Sub New() End Sub Public Property Joint() As AstSTEELAUTOMATIONLib.Joint Implements AstSTEELAUTOMATIONLib.IRule.Joint Get Return m_ThisJoint End Get Set(ByVal value As AstSTEELAUTOMATIONLib.Joint) m_ThisJoint = value End Set End Property Public Sub InField(ByVal pFiler As AstSTEELAUTOMATIONLib.IFiler) Implements AstSTEELAUTOMATIONLib.IRule.InField Dim nParamsSetVer As Integer = pFiler.readVersion() m_PlateThickness = pFiler.readItem("PlateThickness") End Sub Public Sub OutField(ByVal pFiler As AstSTEELAUTOMATIONLib.IFiler) Implements AstSTEELAUTOMATIONLib.IRule.OutField pFiler.writeVersion(1) pFiler.writeItem(m_PlateThickness, "PlateThickness") End Sub Public Sub Query(ByVal pAstUI As AstSTEELAUTOMATIONLib.AstUI) Implements AstSTEELAUTOMATIONLib.IRule.Query Dim QueryObjects As AstObjectsArr QueryObjects = m_ThisJoint.CreateObjectsArray ''prepare input filter (accept only straight beams) pAstUI.ClearClassFilter() pAstUI.GetClassFilter().AppendAcceptedClass(eClassType.kBeamStraightClass) 'select the beam Dim beam As StraightBeam Dim errCode As eUIErrorCodes beam = pAstUI.AcquireSingleObject(61200, errCode) If errCode <> eUIErrorCodes.kNormal Then Throw New COMException("Invalid input.") 'add the beam in the array of input objects QueryObjects.Add(beam) 'set joint parameters to default values Dim dbUtils As New OdbcUtils m_PlateThickness = dbUtils.GetDefaultDouble(300, "Thickness") 'read default plate thickness from AS defaults 'set the joint input objects m_ThisJoint.InputObjects = QueryObjects End Sub Public Sub CreateObjects() Implements AstSTEELAUTOMATIONLib.IRule.CreateObjects 'create joint objects here 'this joint will create a rectangular plate on the start end of the input beam 'and weld it to the beam Dim bJointStatus As Boolean = True Dim JointCreatedObjects As AstObjectsArr = m_ThisJoint.CreateObjectsArray() Try 'retrieve beam object from joint input objects array Dim beam As StraightBeam = m_ThisJoint.InputObjects(0) 'prepare plate polygon Dim vect As New Vector3d Dim p1, p2, p3, p4 As New Point3d beam.getRefAxisWCS(eProfRefAxis.kUpperLeft, p1, vect) beam.getRefAxisWCS(eProfRefAxis.kUpperRight, p2, vect) beam.getRefAxisWCS(eProfRefAxis.kLowerRight, p3, vect) beam.getRefAxisWCS(eProfRefAxis.kLowerLeft, p4, vect) 'construct polygon Dim platePolygon As New AugPolygon3d platePolygon.AppendVertex(p1) platePolygon.AppendVertex(p4) platePolygon.AppendVertex(p3) platePolygon.AppendVertex(p2) 'plate Model role property Dim plateRole As Role = m_ThisJoint.CreateRole("Endplate") 'create the endplate Dim endPlate As Plate = m_ThisJoint.CreatePlatePoly(plateRole, platePolygon, m_PlateThickness) Dim plateEditableProp As JointTransfer = m_ThisJoint.CreateJointTransfer("Endplate") plateEditableProp.ClassType = eClassType.kPlateClass plateEditableProp.Attribute(eAttributeCodes.kPlateMaterial) = 1 'plate Material property should be editable outside the joint (from plate object properties dialog) plateEditableProp.Attribute(eAttributeCodes.kPlateCoating) = 1 'plate Coating property should be editable outside the joint (from plate object properties dialog) endPlate.JointTransfer = plateEditableProp 'add the plate in the joint created objects array JointCreatedObjects.Add(endPlate) 'weld now the endplate to the beam Dim weldPoint As New Point3d weldPoint.setFrom(p1) vect = p2.Subtract(p1) vect.Multiply(0.5) weldPoint.Add(vect) 'create the weld object Dim weldRole As Role = m_ThisJoint.CreateRole("Weld") Dim weldObj As Weld = m_ThisJoint.CreateWeld(weldRole, eWeldType.kTWeld, 4.0, weldPoint, New CS3d()) 'connect the beam and the endplate with this weld Dim connectedObjects As AstObjectsArr = m_ThisJoint.CreateObjectsArray() connectedObjects.Add(beam) connectedObjects.Add(endPlate) weldObj.Connect(connectedObjects, eAssembleLocation.kInShop) Dim weldEditableProp As JointTransfer = m_ThisJoint.CreateJointTransfer("Weld") weldEditableProp.ClassType = eClassType.kAstWeldLevel1 weldEditableProp.Attribute(eAttributeCodes.kWeldPatternThickness) = 1 'weld Thickness property should be editable outside the joint (from weld object properties dialog) weldEditableProp.Attribute(eAttributeCodes.kWeldPatternAssembleLocation) = 1 'weld Location property should be editable outside the joint (from weld object properties dialog) weldObj.JointTransfer = weldEditableProp 'add the weld in the joint created objects array JointCreatedObjects.Add(weldObj) Catch ex As Exception bJointStatus = False 'something wrong happened End Try m_ThisJoint.CreationStatus = bJointStatus m_ThisJoint.CreatedObjects = JointCreatedObjects End Sub Public Sub GetUserPages(ByVal pagesRet As AstSTEELAUTOMATIONLib.RulePageArray, ByVal pPropSheetData As AstSTEELAUTOMATIONLib.PropertySheetData) Implements AstSTEELAUTOMATIONLib.IRule.GetUserPages dlgPage1 = New Page1() dlgPage1.Rule = Me Dim retPage1 As RulePage = m_ThisJoint.CreateRulePage() retPage1.title = 11113 retPage1.hWnd = dlgPage1.Handle.ToInt32() pagesRet.Add(retPage1) End Sub Public Sub FreeUserPages() Implements AstSTEELAUTOMATIONLib.IRule.FreeUserPages If IsNothing(dlgPage1) Then Return dlgPage1.Rule = Nothing dlgPage1.Close() dlgPage1.Dispose() dlgPage1 = Nothing End Sub Public Function GetTableName() As String Implements AstSTEELAUTOMATIONLib.IRule.GetTableName Return "" End Function Public Function ConvertFromHRL(ByVal filer As AstSTEELAUTOMATIONLib.HRLConvertFiler, ByVal OldHRLRuleName As String) As Boolean Implements AstSTEELAUTOMATIONLib.IRule.ConvertFromHRL Return True End Function Public Sub GetExportData(ByVal pExportFiler As AstSTEELAUTOMATIONLib.IRuleExportFiler) Implements AstSTEELAUTOMATIONLib.IRule.GetExportData End Sub Public Function GetFeatureName(ByRef FeatureName As String) As Boolean Implements AstSTEELAUTOMATIONLib.IRule.GetFeatureName FeatureName = "" Return False End Function Public Sub InvalidFeature(ByVal reserved As Integer) Implements AstSTEELAUTOMATIONLib.IRule.InvalidFeature End Sub End Class |
||||
![]() |
|
||||
Регистрация: 21.12.2009
Сообщений: 10
|
Advance steel стал притормаживать, между нажатием на кнопку с командой и началом её выполнения задержка секунды 2-3, тормоза начинаются после 10 минут работы, это если открыта одна модель, если открыть ещё один любой чертёж, тормозить начинает сразу, установлен AS2012, ACAD2012, windows 7. Была мысль, что как то связано с файлом подкачки, пробовал без него, та же история. HELP!!!
|
|||
![]() |
|
||||
Регистрация: 24.02.2010
Сообщений: 1,208
|
заметил баг !!! когда создаешь схемы при помощи камер типа ВИД, на чертежах не отображается название камеры .... очень неудобно , теперь постоянно приходится вставлять"%Note" в чертеж, это только у меня так или у кого нить тоже такие проблеммы???
Последний раз редактировалось alex_koll, 07.06.2012 в 22:32. |
|||
![]() |
|
||||
Регистрация: 24.02.2010
Сообщений: 1,208
|
|
|||
![]() |
|
||||
Инженер-конструктор Регистрация: 31.03.2005
Санкт-Петербург
Сообщений: 150
|
Цитата:
А для advance concrete такая же ситуация? Есть ли там библиотеки, и прилагаются ли они бесплатно к премиум версии ?
__________________
Делать невозможное - смысл жизни:offtopic: |
|||
![]() |
|
||||
Не бесплатно. AS Premium и AS Premium Develop это разные лицензии. Последняя на 30-40% дороже. С Concrete аналогично.
|
||||
![]() |
|
||||
Инженер Регистрация: 11.06.2010
Москва
Сообщений: 1,446
|
alex_koll, заголовки в стилях не всегда меняются с первой попытки. Еще в камерах не всегда пользовательский стиль с первого раза назначается. Нужно перепроверять. Закономерность в этом глюке пока не нашел.
|
|||
![]() |
|
||||
что такое "связь модели и чертежа" (та,что подразумевается под регистрацией чертежа) и почему эта связь с моделью иногда пропадает?когда переименовываешь файл чертежа и пропадает связь- это еще понятно,но почему иногда связь пропадает,если просто закрываешь акад?
|
||||
![]() |
|
||||
инженер-конструктор Регистрация: 06.10.2004
питер
Сообщений: 2,722
|
Цитата:
где то тут в теме уже было все в подробностях расписано. если кратко, то делается это через лиспы. 1-создаете в блокноте текстовый документ, сохраняете в укромное место, переименовываете в блаблабла.lsp (отдельное спасибо создателям акада, что предусмотрели в своем продукте пристраиваемый криворукий грайтек) 2-редактируете файлик в блокноте. содержимое должно выглядеть вот так. (пример на 4 команды). (Отдельное спасибо Алексею ака kpblc, который как то понял из наших путанных объяснений про криворукий грайтек, что именно мы от него хотим, и все написал) (defun c:аа() (command "AstM4WeldSeam""Point") ) точечная сварка (defun c:ап() (command "_AstM5CommBoltsHolesRect") ) болты по центральной точке (defun c:ае() (command "AstM4CommCreateConnection""INCL") ) добавить элемент в сварное соединение (defun c:ан() (command "AstM4CommCreateConnection""EXCL") ) удалить элемент из сварного соединения 3-сохраняем 4-подключаем файлик из нашего тайничка через акадовский диспетчер лиспов: сервис/AutoLISP/приложения: 5-пользуемся. содержимое команды: (defun c:аа() (command "AstM4WeldSeam""Point") ) точечная сварка аа-комбинация клавиш на клавиатуре запускающая эту увлекательную команду (выбирается индивидуально, в зависимости от толщины, длинны, гибкости и количества пальцев) ) точечная сварка-напоминалка на случай старческого маразма и посталкогольных провалов в памяти. на этот же случай можно писать туда имена любовниц, пин коды, места заначек. В исполнение все равно не пойдет, а жена искать не полезет. Зато как приятно. Вышел из недельного запоя, включил комп, открыл файлик, и посмотрел имя человека лежащего в твоей постели вальтом. как то так. ах да. и на сладкое. лисповские команды активированные с клавы повторяются потом с пробела.
__________________
куплю справку |
|||
![]() |