Autor-Archiv Tobias Stephan

VonTobias Stephan

Cam Viewer for Flashforge 3D Printer

Deinen Flashforge 3D Drucker einfach mit dem Cam Viewer von eXODA überwachen.

…die App wird für IOS in Kürze verfügbar sein.

Monitor your Flashforge 3D printer easily with the Cam Viewer from eXODA.

…the app will be available for IOS soon.

https://youtu.be/x3sA6GcLZLY

VonTobias Stephan

Flashforge Adventurer 3 Camera Setup Streaming

Hier der Link für den Cam Stream. Den kannst Du nach abgeschlossener Konfiguration einfach in Deinem Browser eingeben

http://192.168.1.40:8080/?action=stream

Die IP Adresse 192.168.1.40 solltest Du natürlich durch die eigene ersetzen.
So bereitest Du Deinen Flashforge vor und ermittelst die richtige IP

VonTobias Stephan

Modifier et adapter la ligne d’assistance de Shopware Servcie

Les informations de la ligne d’assistance téléphonique sont un module de texte. Les modules de texte peuvent être modifiés facilement via „Paramètres – Modules de texte“.
Pour éviter de devoir chercher éternellement le bon module de texte, il est recommandé de saisir simplement le mot „Hotline“ dans le champ de recherche.

VonTobias Stephan

Amazon account locked hotline

Here is the link to the contact form

If you can no longer log in as a seller, on Amazon as a seller has a real problem. This has also happened to me, for me it was a new credit card – it was not possible to click on the seller service and the entry of the new credit card number was not successful. „You look stupid out of the laundry!“ – I just found a fresh link in Sellercentral more by chance and hope to help colleagues with it. It’s not a phone number, but it’s a form that you can contact.

Kontakt zum Amazon Verkäuferservice, wenn sonst mal nichts mehr geht
VonTobias Stephan

Amazon trotz Kontensperre Kontakt zum Verkäuferservice

Hier der Link zum Formular

Wenn man sich als Verkäufer nicht mehr anmelden kann, hat ,am als Verkäufer bei Amazon ein echtes Problem. Auch mir ist das schon passiert, bei mir war es eine neue Kreditkarte – ein Klicken auf den Verkäuferservice war nicht möglich und die Eingabe der neuen Kreditkartennummer war nicht erfolgreiche. „Da schaut man dumm aus der Wäsche!“ – Soeben habe ich im Sellercentral mehr zufällig einen frischen Link entdeckt und hoffe Kollegen damit helfen zu können. Es ist zwar keine Telefonnummer, aber immerhin ein Formular, mit dem man Kontakt aufnehmen kann. Selber

Kontakt zum Amazon Verkäuferservice, wenn sonst mal nichts mehr geht
VonTobias Stephan

SwiftUI菜单按钮示例汉堡菜单

给你的。这里有一个Swift UI汉堡包菜单的现成示例。你可以通过滑动或点击汉堡包符号来轻松隐藏菜单。只需在默认设置下创建一个新的SwiftUI项目作为一个单一的应用程序即可。简单的复制和粘贴一切,玩转项目。

//
//  ContentView.swift
//  SlideMenuSwiftSample
//
//  Created by T. Stephan on 03.05.20.
//  Copyright © 2020 eCommerce - Tobias Stephan. All rights reserved.
//

import SwiftUI

struct ContentView: View {
    @State var showHamburgerMenu = false
    
    
    var body: some View {
        
        
        let drag = DragGesture()
            .onEnded {
                if $0.translation.width < -100 {
                    withAnimation {
                        self.showHamburgerMenu = false
                    }
                }
        }
        
        return NavigationView {
            GeometryReader { geometry in
                ZStack(alignment: .leading) {
                    MainView(showHamburgerMenu: self.$showHamburgerMenu)
                        .frame(width: geometry.size.width, height: geometry.size.height)
                        .offset(x: self.showHamburgerMenu ? geometry.size.width/2 : 0)
                        .disabled(self.showHamburgerMenu ? true : false)
                    
                    if self.showHamburgerMenu {
                        MenuView()
                            .frame(width: geometry.size.width/2)
                            .transition(.move(edge: .leading))
                    }
                }
                .gesture(drag)
                
            }
            .navigationBarTitle("Side Menu", displayMode: .inline)
            .navigationBarItems(leading: (
                Button(action: {
                    withAnimation {
                        self.showHamburgerMenu.toggle()
                    }
                }) {
                    Image(systemName: "line.horizontal.3")
                        .imageScale(.large)
                }
            ))
        }
        
    }
}

struct MainView: View {
    @Binding var showHamburgerMenu: Bool
    
    var body: some View {
        Button(action: {
            withAnimation {
                self.showHamburgerMenu = true
            }
        }) {
            Text("Show Menu")
        }
    }
}

struct MenuView: View {
    var body: some View {
        VStack(alignment: .leading) {
            HStack {
                Image(systemName: "person")
                    .foregroundColor(.gray)
                    .imageScale(.large)
                NavigationLink(destination: ProfileView()) {
                    Text("Profile")
                        .foregroundColor(.gray)
                        .font(.headline)
                }
            }
            .padding(.top, 100)
            HStack {
                Image(systemName: "envelope")
                    .foregroundColor(.gray)
                    .imageScale(.large)
                NavigationLink(destination: MessagesView()) {
                    Text("Messages")
                        .foregroundColor(.gray)
                        .font(.headline)
                }
            }
            .padding(.top, 30)
            HStack {
                Image(systemName: "gear")
                    .foregroundColor(.gray)
                    .imageScale(.large)
                NavigationLink(destination: SettingsView()) {
                    Text("Settings")
                        .foregroundColor(.gray)
                        .font(.headline)
                }
            }
            .padding(.top, 30)
            Spacer()
        }
        .padding()
        .frame(maxWidth: .infinity, alignment: .leading)
        .background(Color(red: 32/255, green: 32/255, blue: 32/255))
        .edgesIgnoringSafeArea(.all)
    }
}

struct SettingsView: View {
    var body: some View {
        VStack{
            Text("Settings Subview")
        }
    }
}
struct MessagesView: View {
    var body: some View {
        VStack{
            Text("Messages Subview")
        }
    }
}
struct ProfileView: View {
    var body: some View {
        VStack{
            Text("Profile Subview")
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

VonTobias Stephan

SwiftUI Menue Button example Hamburger Menu

Here you go. Here you have a ready sample for a Swift UI hamburger menu. You can easily hide the menu with a slide or tap on the hamburger symbol. Simply create a new SwiftUI project as a single app with the default settings. Simply copy and paste everything and play around with the project.

//
//  ContentView.swift
//  SlideMenuSwiftSample
//
//  Created by T. Stephan on 03.05.20.
//  Copyright © 2020 eCommerce - Tobias Stephan. All rights reserved.
//

import SwiftUI

struct ContentView: View {
    @State var showHamburgerMenu = false
    
    
    var body: some View {
        
        
        let drag = DragGesture()
            .onEnded {
                if $0.translation.width < -100 {
                    withAnimation {
                        self.showHamburgerMenu = false
                    }
                }
        }
        
        return NavigationView {
            GeometryReader { geometry in
                ZStack(alignment: .leading) {
                    MainView(showHamburgerMenu: self.$showHamburgerMenu)
                        .frame(width: geometry.size.width, height: geometry.size.height)
                        .offset(x: self.showHamburgerMenu ? geometry.size.width/2 : 0)
                        .disabled(self.showHamburgerMenu ? true : false)
                    
                    if self.showHamburgerMenu {
                        MenuView()
                            .frame(width: geometry.size.width/2)
                            .transition(.move(edge: .leading))
                    }
                }
                .gesture(drag)
                
            }
            .navigationBarTitle("Side Menu", displayMode: .inline)
            .navigationBarItems(leading: (
                Button(action: {
                    withAnimation {
                        self.showHamburgerMenu.toggle()
                    }
                }) {
                    Image(systemName: "line.horizontal.3")
                        .imageScale(.large)
                }
            ))
        }
        
    }
}

struct MainView: View {
    @Binding var showHamburgerMenu: Bool
    
    var body: some View {
        Button(action: {
            withAnimation {
                self.showHamburgerMenu = true
            }
        }) {
            Text("Show Menu")
        }
    }
}

struct MenuView: View {
    var body: some View {
        VStack(alignment: .leading) {
            HStack {
                Image(systemName: "person")
                    .foregroundColor(.gray)
                    .imageScale(.large)
                NavigationLink(destination: ProfileView()) {
                    Text("Profile")
                        .foregroundColor(.gray)
                        .font(.headline)
                }
            }
            .padding(.top, 100)
            HStack {
                Image(systemName: "envelope")
                    .foregroundColor(.gray)
                    .imageScale(.large)
                NavigationLink(destination: MessagesView()) {
                    Text("Messages")
                        .foregroundColor(.gray)
                        .font(.headline)
                }
            }
            .padding(.top, 30)
            HStack {
                Image(systemName: "gear")
                    .foregroundColor(.gray)
                    .imageScale(.large)
                NavigationLink(destination: SettingsView()) {
                    Text("Settings")
                        .foregroundColor(.gray)
                        .font(.headline)
                }
            }
            .padding(.top, 30)
            Spacer()
        }
        .padding()
        .frame(maxWidth: .infinity, alignment: .leading)
        .background(Color(red: 32/255, green: 32/255, blue: 32/255))
        .edgesIgnoringSafeArea(.all)
    }
}

struct SettingsView: View {
    var body: some View {
        VStack{
            Text("Settings Subview")
        }
    }
}
struct MessagesView: View {
    var body: some View {
        VStack{
            Text("Messages Subview")
        }
    }
}
struct ProfileView: View {
    var body: some View {
        VStack{
            Text("Profile Subview")
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

VonTobias Stephan

SwiftUI Menue Button example Hamburger Menü

Bitteschön. Hier hast Du ein fertiges Sample für ein Swift UI Hamburger Menü. Das Menü lässt sich bequem mit per Slide ausblenden oder durch Tap auf das Hamburger Symbol einblenden. Lege einfach ein neues SwiftUI Projekt als Single App mit den Standardeinstellungen an. Übernimm alles einfach per Copy Paste und spiele am Projekt rum.

//
//  ContentView.swift
//  SlideMenuSwiftSample
//
//  Created by T. Stephan on 03.05.20.
//  Copyright © 2020 eCommerce - Tobias Stephan. All rights reserved.
//

import SwiftUI

struct ContentView: View {
    @State var showHamburgerMenu = false
    
    
    var body: some View {
        
        
        let drag = DragGesture()
            .onEnded {
                if $0.translation.width < -100 {
                    withAnimation {
                        self.showHamburgerMenu = false
                    }
                }
        }
        
        return NavigationView {
            GeometryReader { geometry in
                ZStack(alignment: .leading) {
                    MainView(showHamburgerMenu: self.$showHamburgerMenu)
                        .frame(width: geometry.size.width, height: geometry.size.height)
                        .offset(x: self.showHamburgerMenu ? geometry.size.width/2 : 0)
                        .disabled(self.showHamburgerMenu ? true : false)
                    
                    if self.showHamburgerMenu {
                        MenuView()
                            .frame(width: geometry.size.width/2)
                            .transition(.move(edge: .leading))
                    }
                }
                .gesture(drag)
                
            }
            .navigationBarTitle("Side Menu", displayMode: .inline)
            .navigationBarItems(leading: (
                Button(action: {
                    withAnimation {
                        self.showHamburgerMenu.toggle()
                    }
                }) {
                    Image(systemName: "line.horizontal.3")
                        .imageScale(.large)
                }
            ))
        }
        
    }
}

struct MainView: View {
    @Binding var showHamburgerMenu: Bool
    
    var body: some View {
        Button(action: {
            withAnimation {
                self.showHamburgerMenu = true
            }
        }) {
            Text("Show Menu")
        }
    }
}

struct MenuView: View {
    var body: some View {
        VStack(alignment: .leading) {
            HStack {
                Image(systemName: "person")
                    .foregroundColor(.gray)
                    .imageScale(.large)
                NavigationLink(destination: ProfileView()) {
                    Text("Profile")
                        .foregroundColor(.gray)
                        .font(.headline)
                }
            }
            .padding(.top, 100)
            HStack {
                Image(systemName: "envelope")
                    .foregroundColor(.gray)
                    .imageScale(.large)
                NavigationLink(destination: MessagesView()) {
                    Text("Messages")
                        .foregroundColor(.gray)
                        .font(.headline)
                }
            }
            .padding(.top, 30)
            HStack {
                Image(systemName: "gear")
                    .foregroundColor(.gray)
                    .imageScale(.large)
                NavigationLink(destination: SettingsView()) {
                    Text("Settings")
                        .foregroundColor(.gray)
                        .font(.headline)
                }
            }
            .padding(.top, 30)
            Spacer()
        }
        .padding()
        .frame(maxWidth: .infinity, alignment: .leading)
        .background(Color(red: 32/255, green: 32/255, blue: 32/255))
        .edgesIgnoringSafeArea(.all)
    }
}

struct SettingsView: View {
    var body: some View {
        VStack{
            Text("Settings Subview")
        }
    }
}
struct MessagesView: View {
    var body: some View {
        VStack{
            Text("Messages Subview")
        }
    }
}
struct ProfileView: View {
    var body: some View {
        VStack{
            Text("Profile Subview")
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

VonTobias Stephan

Dremel 3D45 3D40アプリソフト用カムビューア

このアプリでは、最大3台のDremel 3D45または3D40 Idea Builder 3Dプリンターをモニターすることができます。ご存知の通り、Dremel 3D45には、Dremel 3D40のアイデアビルダーとは違い、カメラが付いています。前述のDremelの3dプリンタのためのこのアプリを使用すると、両方のデバイスタイプのステータスを監視することができます。

新しいバージョン1.17は、2020年5月02日から。
ドレメルプリンターのアプリが完全に5ヶ国語に翻訳されました。また、プリンターから届いたフィードバックも翻訳されています。このアプリは英語、ドイツ語、フランス語、イタリア語、中国語、日本語、ロシア語に対応しています。

Apple App Storeでダウンロード

2020年4月23日付けの新バージョン1.14
IOSバージョン13.4.1にアップデートした後、一部のユーザーのためにアプリがクラッシュする原因となりました。このバージョンで問題は解決しました。

このアプリを使用すると、3Dオブジェクトを作成する3D45 / 3D40プリンタを3つまで見ることができます。さらに、対象物が終了するまでの時間計算や、印刷をキャンセルする可能性があるなど、細かなステータスメッセージもあります。特に、印刷中に問題がないかどうかを一目で確認したい場合に便利です。時間を介在させて、完璧な形で対象物を世界に引き入れることができるという利点があります。設定の下に端末の内部IPアドレスを入力するだけで準備完了です。Dremel 3D45 の設定を使用して、ローカル IP アドレスを設定したり、自動的に割り当てられた V4 IP アドレスを使用したりすることができます。お使いの Dremel 3D45 の IP アドレスは、設定で確認できます。ステータス表示には、進行状況、ノズル温度、時間、ドアの開閉、プラットフォーム温度、チャンバ温度、印刷ファイル名、ファイルタイプに関する情報が表示されます。

オブジェクトの完了予定時間、パーセント単位のプログレスバー、ノズルの現在の温度など、現在のステータス情報。扉や蓋が閉まっていませんか?アプリはそれを表示します。チャンバーやプラットフォームの温度、このアプリであなたは最新の状態になります。キャンセルボタンをクリックすることで、アプリから直接印刷をキャンセルすることができるようになりました。

Dremel 3D45のアプリ – お手持ちの3Dプリンターのステータスとコントロール!