ssm-jt 发表于 2022-7-6 08:06:55

Civil 3d对象

有没有办法使用lisp提取C3D对象数据?

Tharwat 发表于 2022-7-6 08:13:23

欢迎来到论坛,
 
您需要什么样的3d对象和什么数据?

Lee Mac 发表于 2022-7-6 08:20:01

我不使用C3D,但从其他示例来看,我认为您需要使用AeccXUiLand的一个实例。AecCaplication对象。

ssm-jt 发表于 2022-7-6 08:23:42

comapny最近切换到C3D,我编写了许多lisp例程,这些例程与我们的旧道路设计软件一起工作,由于各种原因不再工作。
也就是说,例如,我希望能够选择一个纵断面对象并切换当前UCS以匹配纵断面高程和桩号。

rickh 发表于 2022-7-6 08:30:00

从我所发现的一切(尽管可能有限),我总是被指向。net访问所有civil3d功能。

bcinnv 发表于 2022-7-6 08:34:27

SSM-JT。。。我在努力理解你想要做什么,或者你想要得到什么。我希望你不要因为私人原因而变得神秘。这不是通过公共论坛获得帮助的好方法。如果你需要私人帮助,请给我留言。
 
这就是说:如果你想从配置文件中提取信息,我已经使用附加到配置文件视图的数据完成了这项工作。。。有点不方便,但我能够使用我已经熟悉的visual lisp。最好是学习。NET,如果你计划在整个职业生涯中继续进行定制。我不。
 
祝你好运

BIGAL 发表于 2022-7-6 08:38:55

轮廓信息的一些示例,如果认真使用,对齐应该与上面类似。网
 


(defun ah:vercheck ()
(vl-load-com)
(if ((lambda (vrsn)
       (cond
      ((vl-string-search "R17.2" vrsn) (setq appstr "6.0")) ;09
      ((vl-string-search "R18.0" vrsn) (setq appstr "7.0")) ;10
      ((vl-string-search "R18.1" vrsn) (setq appstr "8.0")) ;11
      ((vl-string-search "R18.2" vrsn) (setq appstr "9.0")) ;12
       ((alert "This version of C3D not supported!"))
       )
      )
      (vlax-product-key)
   )                         ; end if condition progn is true
   (progn
       (cond (*AeccDoc*)
         ((setq *AeccDoc*
         (vlax-get
             (cond (*AeccApp*)
               ((setq *AeccApp*
               (vla-getinterfaceobject
                  (cond (*Acad*)
                  ((setq *Acad* (vlax-get-acad-object)))
                  )
                  (strcat "AeccXUiLand.AeccApplication." appstr)
               )
                )
               )
             )
             'ActiveDocument
         )
          )
         )
       ) ; end main cond
   ) ; end progn
) ; end if vsrn
)
(vlax-for j (vlax-get *AeccDoc* 'SurfaceS)
(setq lst (cons (cons (vla-get-name j) j) lst))

(vlax-for k (vlax-get *AeccDoc* 'SurfaceS)
   (if (= Surfacepick (vla-get-name k))             ;match surface
   (vlax-put k 'Style (cdr (assoc surface lst)))
   ) ; end if
)   ; end vlax-for
)

ssm-jt 发表于 2022-7-6 08:44:26

我不想“抄袭”,没有隐藏的议程,我所发现的一切,也指引着我。网我花了足够长的时间学习lisp,遗憾的是,我编写的许多lisp例程在“我的”道路设计过程中都没有用,因为无论出于何种原因,我都无法访问大多数对象属性。我现在讨厌Autodesk和C3D。

SLW210 发表于 2022-7-6 08:50:41

Civil 3D仍然可以使用vanilla AutoCAD,不是吗?

BIGAL 发表于 2022-7-6 08:52:56

我发布了lisp代码来获取曲面信息,我也对点进行了同样的操作。你读过吗?这是一个查找Autocad路线命名以获取这些特性的案例,可以做到这一点!
 
看看Civil 3d API等VBA下的示例文件,在旧版本上有很好的代码示例。
页: [1] 2
查看完整版本: Civil 3d对象