SolidWorks机械工程师网——最大的SolidWorks学习平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 680|回复: 4
打印 上一主题 下一主题

系列零件设计表中草图文字有没有类似CAD中缩放比例的驱动参数?

[复制链接]

66

主题

261

帖子

143

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
414
QQ
跳转到指定楼层
楼主
发表于 2010-8-25 10:50:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

   经典图书
[table]系列零件设计表中草图文字有没有类似CAD中缩放比例的驱动参数?
如何对草图中到文字进行参数驱动??
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享教程|习题|模型|技巧 点赞点赞7624 拍砖拍砖535
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

8

主题

190

帖子

30

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
232
QQ
沙发
发表于 2010-8-25 11:02:22 | 只看该作者
我跟你说。没有的。CAD没有内置这种功能。。另外文字也没办法转化成绝对的可约束性草图除非专门做这种字体,但是正如我们都知道,字体种类非常多。
所以这种事,是非常难的。。在SW没有有效的解决方案前。暂时还只能手工运作多点事吧。。
不过。这几天为了你这种事。就有人在研究啊。。。 ----------------------
算是有一点点的改观。。
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 反对

使用道具 举报

15

主题

256

帖子

26

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
302
QQ
板凳
发表于 2010-8-25 11:05:27 | 只看该作者

   经典图书

谢谢!这个是VBA做到吧?有源码吗?提供下载吗?能否学习下,自己做估计也能做得出来吧,只是不知道驱动系列零件到EXCEL到API
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

13

主题

233

帖子

36

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
287
QQ
地板
发表于 2010-8-25 11:09:46 | 只看该作者
我觉得为了个小东西.还要带个EXCEL什么的..还要去驱动..很麻烦...
这种方法也是临时性,局限性很大.也没大用场....只不过对草图文字多的人稍微有点小用....
而且目前也感觉很不好用...所以暂时不打算番出.当然如果你喜欢,也可以去研究一下.安装目录下的APIHELP中的帮助文件...应该有收获的.
有一小段代码你自己看看
       
    Private Sub cmdAdjustTEXT_Click(Index As Integer)
    If linkSW2 <> 1 Then Exit Sub
            Dim sTXT As String
            Dim sel As SelectionMgr
            Set sel = swDoc.SelectionManager
            M = sel.GetSelectedObjectCount
            ''//10是草图,14标注,15注解.
            If M > 0 Then
                If sel.GetSelectedObjectType(1) = 34 Then
                Dim swSKT As SketchText
                Set swSKT = sel.GetSelectedObject(1)
                Dim tf As TextFormat
                Set tf = swSKT.GetTextFormat
                    tf.CharHeight = tf.CharHeight + IIf(Index = 0, 0.0001, -0.0001)
                    sTXT = Round(tf.CharHeight * 1000, 1) & &quot;mm&quot; & tf.CharHeightInPts & &quot;#&quot;: Debug.Print &quot;New=&quot; & sTXT
                    swSKT.SetTextFormat False, tf
            End If
        End If
    End sub

复制代码
其中LINKSW2是一面连接函数...你可以自己写或照样例实现...
INDEX是一个传入参数,用于控制增大还是缩小 ...
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

9

主题

206

帖子

21

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
249
QQ
5#
发表于 2010-8-25 11:11:36 | 只看该作者

   经典案例图书
谢谢 ,找到个相关的例子
SolidWorks API Help
'---------------------------------------------------
'
' Preconditions:
'       (1) Part, assembly or drawing is open.
'       (2) An annotation is selected.
'
' Postconditions: The text format of the selected annotation is changed.
'
'----------------------------------------------------
Option Explicit
Public Enum swAnnotationType_e
    swCThread = 1
    swDatumTag = 2
    swDatumTargetSym = 3
    swDisplayDimension = 4
    swGTol = 5
    swNote = 6
    swSFSymbol = 7
    swWeldSymbol = 8
    swCustomSymbol = 9
    swDowelSym = 10
    swLeader = 11
    swBlock = 12
    swCenterMarkSym = 13
    swTableAnnotation = 14
    swCenterLine = 15
    swDatumOrigin = 16
End Enum
Sub main()
    Dim swApp                       As SldWorks.SldWorks
    Dim swModel                     As SldWorks.ModelDoc2
    Dim swSelMgr                    As SldWorks.SelectionMgr
    Dim swAnnObj                    As Object
    Dim swAnn                       As SldWorks.Annotation
    Dim swTextFormat                As SldWorks.textFormat
    Dim i                           As Long
    Dim bRet                        As Boolean
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swSelMgr = swModel.SelectionManager
    Set swAnnObj = swSelMgr.GetSelectedObject5(1)
    Set swAnn = swAnnObj.GetAnnotation: Debug.Assert Not Nothing Is swAnn
    ' Get text format information
    Debug.Print &quot;File = &quot; & swModel.GetPathName
    Debug.Print &quot;  &quot; & swAnn.GetName & &quot; <&quot; & swAnn.GetType & &quot;>&quot;
    For i = 0 To swAnn.GetTextFormatCount - 1
        Set swTextFormat = swAnn.GetTextFormat(i)
        ' Change text to be 10mm high, bold, italic, and Comic Sans MS font face
        swTextFormat.CharHeight = 0.01
        swTextFormat.Bold = True
        swTextFormat.Italic = True
        swTextFormat.TypeFaceName = &quot;Comic Sans MS&quot;
        bRet = swAnn.SetTextFormat(i, False, swTextFormat): Debug.Assert bRet
    Next
End Sub
'---------------------------------------------------------
请问您对 SW 二次开发怎么样,能否请教一些问题
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭 卷起
关闭 卷起

SOLIDWORKS 2023 机械设计从入门到精通

手机版|小黑屋| GMT+8, 2024-9-24 02:36 , Processed in 0.287660 second(s), 27 queries , Memcache On.

SolidWorks机械工程师网 ( 鲁ICP备14025122号-2 ) 鲁公网安备 37028502190335号

声明:本网言论纯属发表者个人意见,与本网立场无关。
如涉版权,可发邮件: admin@swbbsc.com

快速回复 返回顶部 返回列表