机械社区

标题: 还有哪些例子可以用DEEPSEEK帮助CAD绘图的? [打印本页]

作者: laotoule8    时间: 2025-2-7 09:55
标题: 还有哪些例子可以用DEEPSEEK帮助CAD绘图的?
用了deepseek写的VBA代码用在CAD,挺好用的。有没有其他的方便CAD使用的deepseek的例子推荐一下?# X  r6 N# K% i. @+ k- A' j
  1. Sub AddRectangleAndArrayAndTrim()
    % ~; ], i+ T7 L$ J9 J7 x0 S% D
  2.     ' 声明变量) V" u0 K" d+ X  p1 H1 ~- B4 d
  3.     Dim lineObj As Object
    ' A( @& A3 T7 Z& g' q" L8 P
  4.     Dim startPoint As Variant% c! p* S7 f- [8 @6 r/ m* ]
  5.     Dim endPoint As Variant
    3 r4 M; n0 u9 ~( T0 F6 k7 ^  U
  6.     Dim rectWidth As Double
    ) t# [' M2 Z  q
  7.     Dim rectHeight As Double
    : `" {' @% n& k7 a' q
  8.     Dim rectStartPoint(0 To 2) As Double
    $ H! ~% E# f7 o
  9.     Dim rectEndPoint(0 To 2) As Double1 H$ p: @/ b& I
  10.     Dim rotationAngle As Double7 o. X! U  B! ~+ T1 _
  11.     Dim rectObj As Object
    & @0 n$ I$ K1 [5 k) v
  12.     Dim points(0 To 7) As Double ' 用于存储矩形的四个顶点8 g7 E; h4 Q5 b2 h$ u7 F# p
  13.     Dim centerPoint(0 To 2) As Double ' 直线的中点
    6 H. y/ e" }% c+ u+ q( [# U
  14.     Dim newRectObj As Object ' 复制的矩形对象# Q0 O" f. s) p* Q* j( P
  15.     Dim rotationAngleRad As Double ' 旋转角度(弧度)
    3 K: a' z. n, P% j& P$ D) G2 I
  16.     Dim intersectPoint As Variant ' 交点: @  u% y0 K8 a$ f  p, o
  17.     Dim trimStartPoint As Variant ' 修剪后的起点" ]7 a4 ?; i1 K( @+ m  |1 K
  18.     Dim trimEndPoint As Variant ' 修剪后的终点$ k4 l( T( {. f
  19.     , w0 ~. W6 [$ G5 T
  20.     ' 定义矩形的尺寸
    7 X0 P( Y1 r( V% m" T
  21.     rectWidth = 0.1 ' 矩形的宽度(短边)
      `) f/ R4 n5 t- _
  22.     rectHeight = 1  ' 矩形的高度(长边)" @% m% T! C; _7 J8 S4 V7 e
  23.     + m+ L/ J# Z3 \* ~5 }% ]$ r  l  l
  24.     ' 提示用户选择一条直线
    5 Y7 k8 v7 C$ g* p/ f0 X5 Q
  25.     On Error Resume Next( O+ L+ v  A9 x% P9 {
  26.     ThisDrawing.Utility.GetEntity lineObj, startPoint, "请选择一条直线: ") A) t+ @  h$ M) S  s7 y
  27.     On Error GoTo 0# P/ q* w6 P/ u
  28.    
    7 d( _7 i) E6 H9 T; ^8 d) g
  29.     ' 检查用户是否选择了直线
    " c: K7 K6 [* }
  30.     If lineObj Is Nothing Then
    : h4 x& b+ l  `- B
  31.         MsgBox "未选择直线或选择无效。": s  S8 t7 i: R$ w$ ~
  32.         Exit Sub
    - h4 l2 @2 ~0 R
  33.     End If
    8 W) G: |$ [0 z8 d
  34.    
      b8 z( [: l. s" q+ y" g& T
  35.     ' 获取直线的起点和终点
    ! c  K& m; [2 O: v, K) H! H
  36.     startPoint = lineObj.StartPoint
    ! W) I* h$ ]) r- `( p3 P
  37.     endPoint = lineObj.EndPoint
    ! w) U- D* r7 z* A
  38.    
    $ }+ ^/ Z1 l( k0 d: K3 T* f' H
  39.     ' 计算直线的中点: \, q1 v' Q: J1 X
  40.     centerPoint(0) = (startPoint(0) + endPoint(0)) / 29 {; z1 n* }2 o1 i/ O
  41.     centerPoint(1) = (startPoint(1) + endPoint(1)) / 2
    % k7 e9 y; p0 R8 c" ^7 @' Z
  42.     centerPoint(2) = (startPoint(2) + endPoint(2)) / 25 c6 d" @* G: }  t# A2 B* d
  43.    
    : {4 s6 Y4 I" |. c- P5 i+ c# V( a
  44.     ' 计算直线的角度(用于矩形的旋转)
    & R( x) n! J4 r: X
  45.     rotationAngle = Atn((endPoint(1) - startPoint(1)) / (endPoint(0) - startPoint(0)))
    / D& F: M. E( S$ Y  ~
  46.    
    / S+ B- Y) S, }9 I; f; X! O
  47.     ' 计算矩形的起点和终点4 F4 f, a7 e* Y! e3 r
  48.     rectStartPoint(0) = startPoint(0) - (rectWidth / 2) * Cos(rotationAngle + (3.14159 / 2)); W, ]1 t% I" l2 r7 |' x7 M8 W6 ?
  49.     rectStartPoint(1) = startPoint(1) - (rectWidth / 2) * Sin(rotationAngle + (3.14159 / 2))3 s- L" U: z1 E/ r" }3 S0 j# G) |
  50.     rectStartPoint(2) = startPoint(2)! s# g4 p% Y  X8 `* m7 {& L- B
  51.    
      ^2 R: i; L) [* G
  52.     rectEndPoint(0) = rectStartPoint(0) + rectHeight * Cos(rotationAngle)
    : D3 `  ?6 o; L7 H. w7 {3 W" K
  53.     rectEndPoint(1) = rectStartPoint(1) + rectHeight * Sin(rotationAngle)& K" E3 Q) C8 {' u( \% k
  54.     rectEndPoint(2) = rectStartPoint(2)
    1 ~) N+ A  Y3 a! u% p2 B
  55.    
    , [! p0 c" j" k; |( t
  56.     ' 定义矩形的四个顶点
    / f3 I/ A  R  P* ]1 [. i
  57.     points(0) = rectStartPoint(0)
    8 V; ~" ^% d: a' N6 w
  58.     points(1) = rectStartPoint(1)
    : q5 c* s* X5 C
  59.     points(2) = rectEndPoint(0)4 k9 M9 C8 g2 v- d  M! h
  60.     points(3) = rectEndPoint(1)( F/ t. \; K) a4 i  J- F
  61.     points(4) = rectEndPoint(0) + rectWidth * Cos(rotationAngle + (3.14159 / 2)). P6 @& ^- C0 [  p9 Y
  62.     points(5) = rectEndPoint(1) + rectWidth * Sin(rotationAngle + (3.14159 / 2))
    + f& j2 c+ B; K: I* h
  63.     points(6) = rectStartPoint(0) + rectWidth * Cos(rotationAngle + (3.14159 / 2))5 m' U) Y* T1 s1 h3 f% T
  64.     points(7) = rectStartPoint(1) + rectWidth * Sin(rotationAngle + (3.14159 / 2))2 m& K- B! P% X6 l+ L0 W- `/ y
  65.     7 s* n+ e$ e# j0 N
  66.     ' 创建矩形
    2 J+ ^5 y. d" N) ?; V. r4 @
  67.     Set rectObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)4 W/ o8 T& I3 W8 E8 n
  68.    
    1 S  I" P: p& ~/ w
  69.     ' 创建圆周阵列(手动复制和旋转): }$ R+ Y# R* v# b
  70.     rotationAngleRad = 180 * (3.14159 / 180) ' 将角度转换为弧度
      b+ w( x! T+ T7 n
  71.     Set newRectObj = rectObj.Copy
    / R& Z9 G* ^" M3 G1 F
  72.     newRectObj.Rotate centerPoint, rotationAngleRad1 Y" R* @! c( p( R8 x/ P
  73.    
    2 s0 X0 t9 n; k. t$ F
  74.     ' 修剪直线5 B! p+ a) S9 K( }% G
  75.     ' 查找直线与矩形的交点* u8 N  }, _5 c. _) i
  76.     intersectPoint = lineObj.IntersectWith(rectObj, acExtendNone)  z) Z1 k  c; w
  77.     If Not IsEmpty(intersectPoint) Then
    ' b2 {( |, |+ G; D" K
  78.         ' 修剪直线的起点
    9 o  W. Y, o. t7 `: C# z
  79.         trimStartPoint = intersectPoint% |. Q, k, h& b1 a! b
  80.         lineObj.StartPoint = trimStartPoint
    ' C4 Y5 V5 r( r& I2 m
  81.     End If( n' A; P7 H* }
  82.    
    ! S' W7 r1 o# Z0 Z3 g( k
  83.     intersectPoint = lineObj.IntersectWith(newRectObj, acExtendNone)
    # @6 @% E7 N8 @- a2 W% E
  84.     If Not IsEmpty(intersectPoint) Then, j0 @1 x% h9 ?( S. b
  85.         ' 修剪直线的终点
    1 i; y/ f8 _( s+ b$ V
  86.         trimEndPoint = intersectPoint
    5 t! A! Z2 y- E4 W& j3 [
  87.         lineObj.EndPoint = trimEndPoint5 d8 E  L% p* |; d+ z8 k' m
  88.     End If! O' w" ~* v# c
  89.    
    7 ~9 ?& C4 H: R. v7 E# O" O1 ~
  90.     ' 刷新视图/ V) y+ j" @' C6 h! p6 n* H
  91.     ThisDrawing.Regen True# f5 l5 q2 j1 f- H6 |. \
  92.     * e: M' d0 v0 _8 l
  93.     ' 提示用户
    8 Y+ A3 m5 I4 y6 Y4 k; g
  94.     MsgBox "矩形、阵列和修剪操作已完成!"8 m! t2 t6 T  Z8 K6 z
  95. End Sub
复制代码
2 @% ]/ n& k, a& ~
7 y, a9 m! J# P7 r

作者: 564156415gdr    时间: 2025-2-7 10:01
blender也可以。去年试过一次
作者: 学者11    时间: 2025-2-7 10:34
这叫脱裤子放屁,没有任何可行性。" w( J0 j  u% b" b/ F* i( w
首先怎么保证AI模型的回答不会有幻觉,你保证不了。+ Y# c, f# S- z* d0 s% [4 l4 J+ @
其次怎么保证工程师能识别出AI模型的回答有幻觉,更保证不了,因为多数机械工程师不懂代码。: {' Y+ Y" [# \0 j6 G0 C
最关键的是,AI模型根本不能直接控制CAD,还需要人手工把代码复制粘贴,CAD才会画图。' l0 F+ ?% N# h" y: C, w
那请问为何不能直接让机械工程师直接画图,你既不能提高效率,又不能节省人工,这么骚操作的意义何在。
作者: kayex    时间: 2025-2-7 16:04
这个把简单的事情复杂化了
作者: 寰宇无人    时间: 2025-2-8 09:27
以前用在SW二次开发上也行,主体代码能用,但一些自定义需求,以及配置啥的,自己要懂
& a6 z; W/ ?; k
作者: 寰宇无人    时间: 2025-2-8 09:28
以前用在SW二次开发上也行,主体代码能用,但一些自定义需求,以及配置啥的,自己要懂
# s3 W) g7 d. j) D  A# O+ T, n- v
作者: 寰宇无人    时间: 2025-2-8 09:29
想让他直接出图,标注尺寸,公差,工艺这些,还得大量模型喂他,不过未来的智能化发展,谁能说的准呢
作者: zhl6200    时间: 2025-2-18 12:19
我直接给定齿轮参数,让deepseek画齿轮零件图,它明确回答我,他没有此功能,只给出了画图思路,也许以后会实现。




欢迎光临 机械社区 (http://www.cmiw.cn/) Powered by Discuz! X3.5