• 이 포럼은 이탈리아 디자인 커뮤니티인 www.cad3d.it/forum1 의 기계 생성 번역입니다. 몇 가지 용어가 올바르게 번역되지 않았습니다.

txt에서 가져오기 포인트에 대한 매크로 오류

omar91

Guest
안녕하세요, 내 이름은 omar이고 나는 포럼에 새로운 것입니다. 나는 기계 공학 학생 (대학원)이고 나는 단지 Solidworks를 사용하여 시작했습니다.
포인트 세트를 가져올 명령을 찾을 수 없습니다. 인터넷에서 검색 한 매크로는 나를 할 수 있도록. 나는 일하고 내가 돌아 오는 것 같다는 것을 발견했다 :

하위 메인()

swapp = 응용 프로그램 설정. 관련 링크
설정된 부분 = swapp.activedoc
swapp.activedoc.activeview.framestate = 1
객체로 dim skpoint

"c:\users\omar\desktop\material thesis\voluta\linee\prova.txt" 를 #1으로 엽니다.
부분.sketchmanager.insert3dsketch true
그러나 eof(1)
입력 #1, x, y, z
설정 skpoint = part.sketchmanager.createpoint (x, y, z)
제품정보
·

이름 *

나는 포인트의 값이 왜곡되기 때문에 보인다, 예를 들어 45,888은 45888, 451,888444이 451888.444, 즉. 모든 숫자는 요인 1000의 증가; terna "small"의 값에 대한 더 이상 (10 세 미만, 현실에서 그것은 매우 무작위 것 같다), 숫자는 0으로 직접 읽는다 ( "resolvere"나는 요인 1000 x 1000 x 1000 x 1000 x 1000 x 1000 x 1000 x 1000의 입력 값으로 줄 생각
내 능력에 대한 모든이 "mysterious", 누군가가 나를 설명 할 수 있습니까? 감사합니다.
 
안녕하세요.
매크로는 잘 작동하며 1000에 의해 좌표를 분할해야합니다. 이것은 "createpoint"에 "call"이기 때문에 미터의 값이 필요합니다. 이것은 Solidworks에서 프로그래밍하는 모든 것에 대한 것입니다.
나는 항상 데이터의 유형에 대한 올바른 변수를 선언합니다. 두 배의 경우 (두 배 이동 comma, 최소 두 소수의 경우 주어진 숫자의 유형입니다, 예를 들어, 35에서 35.00).
createpoint bees는 세 개의 더블 좌표를 통과해야합니다, vba 항상, 그러나이 "translation"을 위해.

나는 항상 decimal 분리기를 권장합니다. ""라는 경우 "." 이는 창 제어 패널의 국가 및 언어의 추가 설정에서 하나의 세트로 동전화해야합니다. 그렇지 않으면 컴퓨터는 다른 숫자를 해석합니다.

나는 다른 변수 "swapp"과 x,y,z를 두 배로 선언하여 매크로를 변경할 수 있었다.
더 보기 나는 스케치 내부의 생성 단계에 엔티티티의 그래픽 삽입을 볼 수 없습니다, 이 속도는 실행 단계에 매크로를 exponentially, 특히 포인트가 많은 경우.
나는 스케치를 닫았다.

p.s.: 당신이 알고 있을 수 있습니다, 만약 당신이 쓰기의 앞에 당신이 ' (apostrophe), 선은 댓글을 달고 녹색에 나타나고 실행 단계에 읽지 않습니다.

좋은 날
이름 *

여기에 업데이트 된 코드

두 배로 dim x
dim y 로 더블
두 배로 dim z
sldworks로 dim swapp. 관련 링크
sldworks.modeldoc2로 디엠 파트
하위 메인()

swapp = 응용 프로그램 설정. 관련 링크
설정된 부분 = swapp.activedoc
swapp.activedoc.activeview.framestate = 1

sldworks로 dim skpoint. 스크래치 포인트

"c:\prova.txt"를 #1로 입력
부분.sketchmanager.insert3dsketch true
삽입 도중 도표를 얼기 위하여, 모든 것은 매우 빠릅니다
부분.sketchmanager.addtodb = true

그러나 eof(1)
입력 #1, x, y, z
설정 skpoint = part.sketchmanager.createpoint (x / 1000, y / 1000, z / 1000)
제품정보
·
'Reprise 그래픽 삽입
부분.sketchmanager.addtodb = false
이름 * 나는 스케치 닫기
부분.sketchmanager.insert3dsketch false
이름 *
 
감사합니다! 아마 내가 1000에 의해 분할하려고 할 때 나는 무언가를 잘못하고 그 다음 0을 반환했다.
나는 또한 당신이 만든 개선에 감사하고 지금은 시도 할 것입니다. 내 특정한 경우 (자신을 위해 가장 긴급한 것을 말하십시오) 점의 수는 제한됩니다 (약 50 점에서 약간의 txt), 그러나 호기심에 의하여 나는 또한 많은 포인트를 포함하는 txt로 시도하고 실제로 회전이 추락한 후에.
 

Forum statistics

Threads
58,191
Messages
495,938
Members
103,104
Latest member
FabioFrontini
이 포럼은 이탈리아 디자인 커뮤니티인 www.cad3d.it/forum1 의 기계 생성 번역입니다. 몇 가지 용어가 올바르게 번역되지 않았습니다.

Members online

No members online now.
Back
Top